Week 13
10 元组 Tuples
-
元组是一种限制版本的列表,虽然无法修改但是更加高效(不需要考虑修改的问题)
-
使用整数索引,园括号包围
-
元组不可异变,因此相对于列表可以更稠密地储存
-
因为不可异变,因此不能被做出任何修改操作(扩展,排序,翻转)
-
为了更加高效,临时变量应当使用元素而非列表
-
我们可以将元组放在等号左侧作为左值,甚至可以省略括号
-
上一章的字典的
items
方法返回的即为元组列表 -
返回元组的情况,多迭代变量的情况也可能是一个元组作为迭代变量的情况
-
元组的比较关系
-
从左侧第一个元素开始,逐位比较,如果当前位置元素相等则右移(类似数字比较)
-
可以利用这个特性,通过排序一个元组列表来实现一个排好序的字典
- 先使用
items
方法拿到元组列表 - 再使用
sorted
方法对齐排序(因为第一项为键,因此是按照键来排序的)
- 先使用
-
如果想按照值排序,则需要额外一个循环来创建一额顺序相反的元组列表
-
如果想要逆向(默认从小到大),对
sorted
函数添加参数reversed = True
-
一个简便方式:使用列表推导式创建动态列表
sorted([(v,k) for k,v in c.items()])
-