2022.07.12 DAY12
1. 元组 ZIP
1. 元组
-
元组的核心特点:不可变序列。
-
元组的访问和处理时间比列表快。
-
与整数和字符串一样,元组可以作为字典的键,列表则永远不能作为字典的键使用。
-
元组的元素访问和列表一样,只不过返回的仍然是元组。
a = (20, 30, 40, 50)
-
列表关于排序的方法list.sorted()是修改原列表对象,元组没有改方法。如果要对元组排序,只能使用内置函数sorted(tupleObj),并产生新的 列表 对象。
a = (20, 10, 40, 5) sorted(a)
2. ZIP
-
zip(列表1,列表2,…)将多个列表对应位置的元素组合成元组,并返回这个zip对象。
a = [10, 20, 30] b = [40, 50, 60] c = [70, 80, 90] d = zip(a,b,c) d >>> [(10, 20, 30),(40, 50, 60),(70, 80, 90)]
3. 生成推导式创建元组
-
生成器推导式使用小括号。
-
生成器生成的是一个生成器对象。
-
可以将生成器对象转化成 列表 或者 元组。
-
可以使用生成器对象的__next__()方法进行遍历。
-
不管使用什么方式访问,元素访问结束之后,如果需要重新访问其中的元素,必须重新创建给生成器对象。
s = (x * 2 for x in range(5)) tuple(s) # 变成元组 只能访问一次 s = (x * 2 for x in range(5)) s.__next__() # 依次返回值 s.__next__() s.__next__() s.__next__() s.__next__()