【笔记】Python | 04 | 操作列表 | 4.5 元组

元组

列表用于存储可能变化的数据集,但有时需要创建一些不可修改的元素,元组就可以满足。

定义元组

元组看起来与列表很像,不过元组用的是圆括号(()),而列表用的是方括号([])。定义元组后,可以通过索引访问元素,就像列表那样。

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/

  1. n. 尺寸,度量
  2. 方面,部分
  3. 规模,程度

练习题

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)

输出:略。

上一篇:31. Python中的多态(Polymorphism)


下一篇:python GISAID 网站爬虫实践:fasta文件获取