????????元组是不可变序列,不能修改元组中的元素,元组可以作为字典的键。
目录
一、元组的创建
①通过()来创建元组
②通过tuple()来创建元组
③生成器推导式创建元组
二、元组排序
三、zip
一、元组的创建
①通过()来创建元组
????????在通过()来创建元组时,小括号可以省略,如果只有一个元素,则必须后面加逗号,否则解释器会把该元素解释为其原有的类型。
②通过tuple()来创建元组
a=tuple()
③生成器推导式创建元组
???????生成器推导式生成的不是列表也不是元组,而是一个生成器对象。我们可以通过生成器对象,转化成列表或者元组。也可以使用生成器对象的__next__()方法进行遍历,或者直接作为迭代器对象来使用。不管什么方式使用,元素访问结束后,如果需要重新访问其中的元素,必须重新创建该生成器对象。
a = (i**2 for i in range(10))
print(a.__next__())
print(a.__next__())
print(a.__next__())
print(a.__next__())
print(a.__next__())
print(a.__next__())
print(a.__next__())
print(a.__next__())
print(a.__next__())
print(a.__next__())
'''
结果为:
0
1
4
9
16
25
36
49
64
81
'''
二、元组排序
????????如果要对元组排序,只能使用内置函数sorted(),并生成新的列表对象
a=tuple(range(10,0,-1))
a=sorted(a)
print(a)
#结果为:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
三、zip
????????zip(列表1,列表2,...)将多个列表对应位置的元素组合成为元组,并返回这个zip对象。
a=[1,2,3]
b=[4,5,6]
c=[7,8,9]
print(zip(a,b,c))
print(tuple(zip(a,b,c)))
'''
结果为:
<zip object at 0x000001C896281FC0>
((1, 4, 7), (2, 5, 8), (3, 6, 9))
'''
|