作者 | 弗拉德
来源 | 弗拉德(公众号:fulade_me)
元组
列表非常适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的,这对处理网 站的用户列表或游戏中的角色列表至关重要。然而,有时候你需要创建一系列不可修改的元素, 元组可以满足这种需求。Python将不能修改的值称为不可变的,而不可变的列表被称为元组。
定义元组
元组看起来跟列表很想,但使用圆括号而不是方括号来标识。定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样。
例如,如果有一个大小不应改变的矩形,可将其长度和宽度存储在一个元组中,从而确保它们是不能修改的:
rectangle = (200, 50)
print(rectangle[0])
print(rectangle[1])
我们首先定义了元组rectangle,为此我们使用了圆括号而不是方括号。接下来,我们分别打印该元组的各个元素。
输出是
200
50
下面来尝试修改元组rectangle中的一个元素,看看结果如何:
rectangle[0] = 250
如果我们运行一下上面的代码,就会发现Python返回类型错误消息。因为元组是不允许被修改的,因此会出现如下错误:
TypeError: 'tuple' object does not support item assignment
需要记住的是:元组是不可以被修改的,所以使用过程中不能修改元组的值。
遍历元组
像列表一样,也可以使用for循环来遍历元组中的所有值:
rectangle = (200, 50)
for r in rectangle:
print(r)
输出结果为:
200
50
给元组重新赋值
虽然我们不能修改元组内部的值,但是我们可以通过给元组重新赋值的方式来来改变元组的值:
rectangle = (200, 50)
for r in rectangle:
print(r)
rectangle = (400,100)
for r in rectangle:
print(r)
输出如下:
200
50
400
100
相比于列表,元组是更简单的数据结构。如果需要存储的一组值在程序的整个生命周期内都 不变,可使用元组。
小作业
9-1 有一个菜摊,提供五种蔬菜。请想出五种简单的蔬菜,并将其存储在一个元组中。
9-2 使用一个 for 循环将该菜摊提供的五种蔬菜都打印出来。
9-3给元组变量赋值,修改其中一种蔬菜为新品种,并使用一个 for 循环将新元组的每个元素都打印出来。
9-4尝试修改其中的一个元素,核实 运行时会报错。
想查看作业答案可以去我的Githu仓库