1 元组快速入门
1.1 基础知识
- 元组的数据类型:tuple
- 创建方法:用 ( ) 可以创建空的元组
tup = (1, 2, 3, 4, 5)
print(tup, type(tup)) # (1, 2, 3, 4, 5) <class 'tuple'>
print(tup[0]) # 1
注:元组中最左边元素的编号是 0,第二个是 1,第三个是 2, 以此类推
错误案例:
tup = (1, 2, 3, 4, 5)
tup[0] = 10
print(tup)
# TypeError: 'tuple' object does not support item assignment
原因:元组为不可变序列,不能进行修改操作
1.2 如果元组不是空的,那其中至少有一个逗号 ‘,’ ,否则为整数或字符串类型
元组、整数、字符串类型的比较案例
tup = 10
print(tup, type(tup)) # 10 <class 'int'>
tup = 10,
print(tup, type(tup)) # (10,) <class 'tuple'>
tup = 'hello'
print(tup, type(tup)) # hello <class 'str'>
tup = 'hello',
print(tup, type(tup)) # ('hello',) <class 'tuple'>
1.3 元组的解包
- 将元组中的每一个元素赋值给一个变量
tup = 10, 20, 30, 40
a, b, c, d = tup
print('a =', a)
print('b =', b)
print('c =', c)
print('d =', d)
'''
结果:
a = 10
b = 20
c = 30
d = 40
'''
1.3.1 错误案例
tup = 10, 20, 30, 40
a, b = tup
print('a =', a)
print('b =', b)
# ValueError: too many values to unpack (expected 2)
原因:解包值的数量与变量数不匹配(在不引入其他符号的情况下,元组中四个元素在解包时应对应四个解包值,多或少都不行
1.3.2 解包值的数量与变量数不匹配的解决办法
- 在对一个元组进行解包时,变量的数量需要和元组中元素的数量保持一致,如果未保持一致,可在变量前加*,这样加*的变量会获取元组中所有剩余的元素并以列表的形式返回
tup = 10, 20, 30, 40
a, b, *c = tup
print('a =', a)
print