Python 元组和列表的区别

2015-07-11
本文发布至今已有6年零361天,可能不再适用,请谨慎对待。

Python里元组(tuple)和列表(list)的外观很相似,都属于sequence的一种。只是圆括号和方括号的区别,许多操作也相同,比如切片读取(slicing)、遍历(iterate)等。说到它们的不同,很多场合都会讲,list是可以修改的,tuple是不可修改的。但这并没有解释到本质。

它们本质是:tuple是 一个元素 ,而list是元素的 集合

单个元素自然是不能改变的(immutable),所以可以作为字典的键值:{(1,2): 1}

而集合是可以伸缩的,所以不能作为字典键值:

>>> d=[1,2]
>>> b[d]=3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'

捐助本站

为了保证阅读体验,本站不安放广告。但是,租用服务器和编写文章需要个人资金和时间的投入。

如果您觉得文章对您有用,请考虑捐助小站(金额不限),以期待更多原创文章。捐助记录

本站是个人网站,若无特别说明,文章均为原创,并采用 署名协议 CC-BY-NC 授权。
欢迎转载,惟请保留原文链接,且不得用于商业用途。