元组
- 类型:tuple
- 元组是一个不可变序列(一般当我们希望数据不改变时,我们使用元组,其他情况下基本都用列表)
- 使用()创建元素
my_tuple = () - 元组不是空元组至少有一个 逗号(,) 当元组不是空元组时括号可以省略
my_tuple0 = ()
print(my_tuple0, type(my_tuple0))
>>> () <class 'tuple'>
my_tuple1 = 10,
print(my_tuple1, type(my_tuple1))
>>> (10,) <class 'tuple'>
my_tuple2 = 1, 2, 3, 4, 5
print(my_tuple2, type(my_tuple2))
>>> (1, 2, 3, 4, 5) <class 'tuple'>
- 元组解包指将元组当中的每一个元素都赋值给一个变量
my_tuple = (1, 2, 3, 4, 5)
a, b, c, d, e = my_tuple
print('a :', a)
print('b :', b)
print('c :', c)
print('d :', d)
print('e :', e)
拆包时,变量个数与元组中元素的个数须保持一致
如果变量个数少于元组的元素个数,就要用 *变量来获取剩余的多个元素
my_tuple = (1, 2, 3, 4, 5)
print(type(my_tuple))
>>> <class 'tuple'>
>
a, *b, c = my_tuple
print('a :', a)
print('b :', b, type(b))
print('c :', c)
>>>
a : 1
b : [2, 3, 4] <class 'list'> # 拆包后多个元素组成的变量放到列表里了
c : 5
变量个数不可以比元组中元素的个数
- 列表、字符串也可以实现拆包,方法和元组一样。
my_list = [1, 2, 3, 4, 5]
a, b, c, d, e = my_list
print('a :', a)
print('b :', b)
print('c :', c)
print('d :', d