<分区>
我只是在解释器中玩弄,遇到了一些我不明白的东西。当我创建一个以列表作为元素之一的元组,然后尝试更新该列表时,会发生一些奇怪的事情。例如,当我运行这个时:
tup = (1,2,3,[4,5])
tup[3] += [6]
我得到:
TypeError: 'tuple' object does not support item assignment
这正是我所期望的。然而,当我再次引用元组时,我得到:
>>> tup
(1, 2, 3, [4, 5, 6])
所以即使 python 抛出异常,列表实际上也已更新。这是如何运作的?我无法想象我真的想做这样的事情的场景,但我仍然想了解发生了什么。谢谢你。