Python 的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号 ( ),列表使用方括号 [ ]。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
注意: 元组是不可改变的,列表是可改变的。
元组的特点:
- 元组可以包含任意类型的对象。
- 元组是有序的,可以索引和分片。
- 元组的大小不能改变,不能添加和删除,也不能修改值。
- 元组是对象的引用,而不是对象本身。
# 提示:括号不是必须的,当使用元组时请一定要加上括号。 tup01 = () print(type(tup01)) #操作元组 访问元组tup02 = tuple() print(type(tup02)) # tup03 = "a", "b", "c" print(type(tup03)) # # 无组的类型可以是多样的 tup04 = ("abc", 1234, [1, 2, 3, 4]) print(type(tup04)) #
# 元组和字符串以及列表类似,索引都是从0开始,并且可以进行截取和组合等操作。
tup05 = ("CentOS", "Ubuntu", "Mac", "Windows", "Redhat")
print(tup05[2]) # Mac
print(tup05[1:4]) # ('Ubuntu', 'Mac', 'Windows')
元组合并
# 元组虽然不可以改变,但是可以对两个元组进行合并
tup06 = ("a", "b", "c")
tup07 = (1, 2, 3)
tup08 = tup06 + tup07
print(tup08) # ("a", "b", "c", 1, 2, 3)
删除元组
tup09 = ("Jack", "Tom", "Peter", "Lily", "lucy")
del tup09
print(tup09) # NameError: name "tup09" is not defind
内置方法
# 元组是不可变,但是我们可以通过使用内置方法来操作元组。 len(tuple):计算元组元素个数; max(tuple):返回元组中元素的最大值; min(tuple):返回元组中元素的最小值; tuple(seq):将列表转换为元组。元组拆包
什么叫元组拆包?
将元组内的元素,依次分配赋值给变量。
python允许将一个包含N个元素的元组分别分配给n个变量。变量数要与无组的数量相同。
# 1、直接赋值。适合元素较少的情况
tup10 = ("Jack", 20)
name, age = tup10
print(name, age) # Jack 20
# 使用占位符_。适合元素较少的情况
tup11 = ("Jack", 20, "male")
name, age, _ = tup11
print(name, age) # Jack 20
# 使用*变量。适合元素较多的情况
a, b, *c, d = range(1, 10)
print(a, b, c, d) # 1 2 [3, 4, 5, 6, 7, 8] 9
# *c是个列表,如果没有足够的值,就会返回一个空列表
# *前缀变量能放在任意位置
元组拆包交换两个变量的值
# 不用拆包的方法来写 a = 10 b = 20 tmp = a a = b b = tmp print(a, b) # 20 10 # 使用元组拆包来交换变量的值 b, a = a, b print(a, b) # 20 10元素判断
# 使用in判断元素是否在元组中
tup11 = ("Jack", "Tom", "Alix", "Lucy", "Peter", "Lily")
print("Alix" in tup11) # True
print("Ali" in tup11) # False



