1 元组 tuple
(1)定义,修改
有关元组的定义:
- 元组是一种序列,可使用 小括号() 去界定
- 元组中各元素之间用逗号隔开
- 元组本身是一个不可变的数据类型,没有增删改查。如要修改,可以使用list函数把它转化成列表
- 元组内可存储任意类型
tup = 4, 5, 6 返回 (4, 5, 6) nested_tup = (4, 5, 6), (7, 8) 返回 ((4, 5, 6), (7, 8)) tuple([4, 0, 2]) 返回 (4, 0, 2) tuple('string') 返回('s', 't', 'r', 'i', 'n', 'g') tup[0] 返回's' tuple(['foo', [1, 2], True]) tup = tuple(['foo', [1, 2], True]) tup[2] = False 会报错,元组一旦创建,位置上的对象无法修改 tup[1].append(3)但元组中的一个对象是可变的,如列表 ('foo', [1, 2, 3], True) (4, None, 'foo') + (6, 0) + ('bar',) +号连接元组来生成更长的元组 返回(4, None, 'foo', 6, 0, 'bar'); ('bar',)加逗号就可变成元组 ('foo', 'bar') * 4 返回 ('foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'bar')
a = (1, 2, 2, 2, 3, 4, 2)
a.count(2) 返回4,2在元组中出现的次数
(2) 拆包:元组赋值 变量
tup = (4, 5, 6)
a, b, c = tup 元组赋值给变量
b 返回 5
多元组也可拆包赋值
tup = 4, 5, (6, 7)
a, b, (c, d) = tup
d 返回 7
自定义变量赋值
a, b = 1, 2
a
b
b, a = a, b
常用场景 :遍历元组或列表
seq = [(1, 2, 3), (4, 5, 6), (7, 8, 9)]
for a, b, c in seq:
print('a={0}, b={1}, c={2}'.format(a, b, c))
返回:
a=1, b=2, c=3 a=4, b=5, c=6 a=7, b=8, c=9
(3)截取元组 部分数据
values = 1, 2, 3, 4, 5 a, b, *rest = values 其他部分*rest数据 a, b 返回1, 2 rest 返回 3, 4, 5 a, b, *_ = values 可用*_用作丢弃的那部分数据
本篇知识点参考《利用python进行数据分析》,更多知识请阅读原书