python - 如果在 Python 中我将一个列表放在一个元组中,我可以安全地更改该列表的内容吗?

标签 python list reference tuples

<分区>

元组中的值只是对列表的引用,如果我更改列表中的值,一切仍然正常,对吧?我想确保如果我这样做,我不会开始遇到令人困惑的错误。

最佳答案

元组是不可变的,您不能更改它们的内容。

有一个列表

>>> x = [1,2,3]
>>> x[0] = 5
>>> x
[5, 2, 3]

有一个元组

>>> y = tuple([1,2,3])
>>> y
(1, 2, 3)
>>> y[0] = 5   # Not allowed!

Traceback (most recent call last):
  File "<pyshell#20>", line 1, in <module>
    y[0] = 5
TypeError: 'tuple' object does not support item assignment

但如果我理解你的问题,就说你有

>>> a = [1,2,3]
>>> b = [4,5,6]
>>> t = (a,b)
>>> t
([1, 2, 3], [4, 5, 6])

被允许将内部列表修改为

>>> t[0][0] = 5
>>> t
([5, 2, 3], [4, 5, 6])

关于python - 如果在 Python 中我将一个列表放在一个元组中,我可以安全地更改该列表的内容吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26262813/

相关文章:

PHP:奇怪的引用变量

c++ - 将指针传递给需要引用的函数?

javascript - 使用 django 和 angularjs 渲染 html 模板时出现 TemplateSyntaxError

python - Heroku build 卡在 Building Source for Simple Python Flask App

list - 合并(合并)不同长度的向量

c# - 在 IList<T> 中排序项目

python - 无平铺的水平串联的有效方法

python - 需要加入一个列表的元素,但加入后保留元素周围的 ''

python - 使用 python 在文件中搜索回文并将其打印在列表中

java - 再次出现空指针异常