3

我们不能在 python 中更新或修改元组。
我正在编写一个更新元组的代码。

为什么它没有给出任何错误?这是我的代码

tuple1=(1,'hello',5,7,8,)
tuple1=tuple1[1:3]*2
print tuple1
print tupele1[3]

为什么它显示输出没有任何错误?

输出:('你好',5,'你好',5)

5

4

4 回答 4

4

您不是在更新元组,而是在创建一个具有不同值的新元组。

于 2013-11-13T08:27:02.007 回答
3

您没有改变元组,而是重新绑定绑定到它的名称。这不受 Python 的限制。

>>> (1, 2, 3)[1] = 4
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> a = (1, 2, 3)
>>> a = 4
于 2013-11-13T08:28:23.723 回答
2

我们不能更新元组中的值,但是我们可以将引用的变量重新分配给元组。

于 2013-11-13T08:28:44.960 回答
0

*不像你认为的那样。它乘以slice,而不是其内容。

tuple1[1:3] == ['hello', 5]
tuple1[1:3] * 2 == ['hello', 5, 'hello', 5]
于 2013-11-13T08:28:11.890 回答