我试图理解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)
但我仍然想了解上面第一个案例中发生的事情。