文章目录
2. 元组(tuple)
元组是一个不可变序列,它的操作方式基本上和列表一致,所以在操作元组时,把元组当成一个不可变的列表就行,一般数据不改变时使用元组。
2.1 操作元组
# 创建元组
my_tuple = () # 创建了一个空元组
print(type(my_tuple))
元组是不可变对象,不能为元组中的元素重新赋值
a = (1, 2, 3, 4, 5, 6)
a[3] = 10 # TypeError: 'tuple' object does not support item assignment
当元组不是空元组时,括号可以省略,如果元组不是空元组,它必须至少有一个逗号
a = 1, 2, 3, 4, 5
b = 1,
print(type(a), type(b))
元组的解包(解构):
解包就是将元组中每一个元素都赋值给一个变量
ass = 1, 2, 3, 4
a, b, c, d = ass
print('a = %d, b = %d, c = %d, d = %d'%(a, b, c, d))
a = 100
b = 25
# 交互a b 的值,可以利用元组的解包
a, b = b, a
print('a = %f, b = %d'%(a, b))
在对一个元组进行解包时,变量的数量必须和元组中的元素的数量一致
ass = 1, 2, 3, 4, 5
a, b, *c = ass
print('a = %s, b = %s, c = %s'%(a, b, c))
*a, b, c = ass
print('a = %s, b = %s, c = %s'%(a, b, c))
a, *b, c = ass
print('a = %s, b = %s, c = %s'%(a, b, c))
# 不能同时出现两个或以上的*变量
# *a, *b, c = ass # SyntaxError: two starred expressions in assignment
# print('a = %s, b = %s, c = %s'%(a, b, c))