元组属于不可变序列,不可以修改元组中的元素。
所以元组没有增加元素,修改元素,删除元素的相关方法。
1.元组的创建
1.通过()创建
a = (1,)
b = (1,2,3,4,5,6)
如果元组只有一个元素,则后面必须加逗号,否则会被解释成整型
2.通过tuple() 创建
a = tuple()
b = tuple(range(5))
c = tuple("xx")
d = tuple([1,2,3])
2.元组的元素访问
元组的元素访问,count(),index(),切片和列表一样
a = (1,2,3,4,5)
a[1]
a.count(2)
a[0:2:1]
a.index(4,1)
对元组排序,产生新对象
a = (2,1,3,4,2,7,6,5)
b=sorted(a)
c=sorted(a,reverse=True)
3.zip
zip(list1,list2,list3......)将多个列表对应位置组合成元组
a = [1,2,3,4,5]
b = [1,2,3]
c = [1,2,3,4]
d = zip(a,b,c) #zip object
e = list(d) #[(1,1,1),(2,2,2),(3,3,3)]
4.生成器推导式
- 列表推导式生成列表对象,生成器推导式生成一个生成器对象
- 我们可以通过生尘器对象转换成列表或者元组,也可以使用生成器对象的__next__()方法进行遍历。不管用什么方式,元素访问结束以后,如果需要出现访问其中元素,必须重新创建改生成器对象。(相当于有一个指针一直往后移动,访问一个移动一次,访问完了以后指针不会回去,无法再使用)
s = (x*2 for x in range(5))
a = tuple(s) #0,2,4,6,8
b = tuple(s) #()
s1 = (x for x in range(3))
print(s1.__next__())
print(s1.__next__())
print(s1.__next__())
5.总结
核心:不可变序列
元组的访问和处理比列表快