码迷,mamicode.com
首页 > 编程语言 > 详细

python元组与列表的区别

时间:2020-04-13 00:34:17      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:修改   strong   most   网站   step   traceback   original   创建   assign   

列表非常适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的,这对处理网站的用户列表或游戏中的角色列表至关重要。

Python将不能修改的值称为不可变的 ,而不可变的列表被称为元组。然而,有时候需要创建一系列不可修改的元素,元组可以满足这种需求。

 

元组看起来犹如列表,但使用圆括号而不是方括号来标识。定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样。

 

例如,如果有一个大小不应改变的矩形,可将其长度和宽度存储在一个元组中,从而确保它们是不能修改的:

 

dimensions = (200, 50)

 

print("Original dimensions:")

 

for dimension in dimensions:

 

    print(dimension)

 

首先定义了元组dimensions,为此使用了圆括号而不是方括号。接下来,分别打印该元组的各个元素,使用的语法与访问列表元素时使用的语法相同:

 

>>>

 

Original dimensions:

 

200

 

50

 

>>> 

下面来尝试修改元组dimensions中的一个元素,看看结果如何:

dimensions = (200, 50)

dimensions[0]= 250

print("Original dimensions:")

for dimension in dimensions:

    print(dimension)

代码试图修改第一个元素的值,导致Python返回类型错误消息。由于试图修改元组的操作是被禁止的,因此Python指出不能给元组的元素赋值:

>>>

Traceback (most recent call last):

  File "D:\pythonStep\chap4\dimensions.py", line 2, in <module>

    dimensions[0]= 250

TypeError: ‘tuple‘ object does not support item assignment

>>>

代码试图修改矩形的尺寸时,Python报告错误,

像列表一样,也可以使用for循环来遍历元组中的所有值:

dimensions = (200, 50)

#dimensions[0]= 250

print("Original dimensions:")

for dimension in dimensions:

    print(dimension)

就像遍历列表时一样,Python返回元组中所有的元素:

>>>

Original dimensions:

200

50

 

虽然不能修改元组的元素,但可以给存储元组的变量赋值。因此,如果要修改前述矩形的尺寸,可重新定义整个元组

dimensions = (200, 50)

#dimensions[0]= 250

print("Original dimensions:")

for dimension in dimensions:

    print(dimension)

    

dimensions = (400, 100)

print("\nModified dimensions:")

for dimension in dimensions:

    print(dimension)

首先定义了一个元组,并将其存储的尺寸打印了出来;接下来,将一个新元组存储到变量dimensions中;然后,打印新的尺寸。

这次,Python不会报告任何错误,因为给元组变量赋值是合法的:

>>>

Original dimensions:

200

50

 

Modified dimensions:

400

100

>>>

相比于列表,元组是更简单的数据结构。

如果需要存储的一组值在程序的整个生命周期内都不变,可使用元组。

 

 

python元组与列表的区别

标签:修改   strong   most   网站   step   traceback   original   创建   assign   

原文地址:https://www.cnblogs.com/shwj/p/12688768.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!