在Python

时间:2018-01-31 14:30:36

标签: python

我试图理解python中的以下错误:

In []: tup = tuple(['foo', [1,2], True])
In []: tup[1]+=[2]

这会导致以下错误:

TypeError: 'tuple' object does not support item assignment

我理解这是因为元组不可变。然而,元组的第二个元素现在以我想要的方式变异。

In []: tup
Out[]: ('foo', [1, 2, 2], True)

有人可以解释一下这里发生了什么。我收到了一个错误,但代码完全符合我的要求。代码未能实现的是错误显示的内容?

另外,我知道append方法可以完成同样的工作。

In []: tup[1].append(2)
In []: tup
Out[]: ('foo', [1, 2, 2, 2], True)

但我仍然想了解上面第一个案例中发生的事情。

0 个答案:

没有答案