元组
列表用于存储可能变化的数据集,但有时需要创建一些不可修改的元素,元组就可以满足。
定义元组
元组看起来与列表很像,不过元组用的是圆括号(()
),而列表用的是方括号([]
)。定义元组后,可以通过索引访问元素,就像列表那样。
dimensions = (200,50)
print(dimensions[0])
print(dimensions[1])
输出结果:
>>>
200
50
下面我们尝试修改其中一个元素,看看会怎样:
dimensions[0] = 250
输出结果:
Traceback (most recent call last):
File "/dimensions.py", line 2, in <module>
dimensions[0] = 250
TypeError: 'tuple' object does not support item assignment
Python报错了,这是我们希望看到的。
遍历元组中所有的值
就像列表一样,使用for循环遍历所有值。
for dimension in dimensions:
print(dimension)
输出结果:
>>>
200
50
修改元组变量
虽然不能修改元素,但是可以给存储元组的变量赋值。如下所示,如果要修改矩形的尺寸,可重新定义整个元组。
dimensions = (200,50)
print("Original dimensions:")
for dimension in dimensions:
print(dimension)
dimensions = (400,100)
print("\nModified dimensions:")
for dimension in dimensions:
print(dimension)
输出结果:
>>>
Original dimensions:
200
50
Modified dimensions:
400
100
dimension 英/daɪ'mɛnʃən/ 美/dɪ'menʃ(ə)n/
- n. 尺寸,度量
- 方面,部分
- 规模,程度
练习题
4-13 自助餐
有一家自助餐,至提供5种简单的食物。请想出5种简单的食物,并将其存储在一个元组中。
- 使用一个for循环将该餐厅提供的5种食物打印出来
- 尝试修改其中一个元素,核实Python确实会拒绝这么做
- 餐馆调整了菜单,替换了其中2种食物,请编写一段代码,给元组变量赋值,并使用一个for循环将新元组的每个元素都打印出来。
foods = ("bun","dumpling","noodle","rice","potato")
for food in foods:
print(food)
foods[0] = "tomato"
foods = ("bun","dumpling","pho","shumai","potato")
for food in foods:
print(food)
输出:略。