元组的元素访问和计数
1. 元组的元素不能修改
>>> a = (20, 10, 30, 9, 8)
>>> a
(20, 10, 30, 9, 8)
>>> a[3] = 330
Traceback (most recent call last):
File "<pyshell#249>", line 1, in <module>
a[3] = 330
TypeError: 'tuple' object does not support item assignment
2. 元组的元素访问和列表一样,只不过返回的仍然是元组对象。
>>> a = (20,10,30,9,8)
>>> a[1]
10
>>> a[1:3]
(10, 30)
>>> a[:4]
(20, 10, 30, 9)
3. 列表关于排序的方法list.sorted()是修改原列表对象,元组没有该方法。如果要对元组排序,只能使用内置函数sorted(tupleObj),并生成新的列表对象。
>>> a = (20,10,30,9,8)
>>> sorted(a)
[8, 9, 10, 20, 30]
4. 元组的其他的方法,例如len()、a.count()、sum()、max()、min()的用法与列表类似。
zip
zip(列表 1,列表 2,...)将多个列表对应位置的元素组合成为元组,并返回这个 zip 对象。
>>> a = [10,20,30]
>>> b = [40,50,60]
>>> c = [70,80,90]
>>> d = zip(a,b,c)
>>> list(d)
[(10, 40, 70), (20, 50, 80), (30, 60, 90)]
>>> tuple(d) #注意,zip产生的对象也是一个迭代器,使用过程中指针位置按顺序指向要操作的对象,使用后就指针就执行完毕,失效了,也是1次性使用。如果要用就得重新生成zip迭代器。
()
>>> d = zip(a, b, c)
>>> tuple(d)
((10, 40, 70), (20, 50, 80), (30, 60, 90))