【发布时间】:2015-06-27 03:20:50
【问题描述】:
所以我有这个代码:
tup = ([1,2,3],[7,8,9])
tup[0] += (4,5,6)
产生此错误:
TypeError: 'tuple' object does not support item assignment
这段代码:
tup = ([1,2,3],[7,8,9])
try:
tup[0] += (4,5,6)
except TypeError:
print tup
打印这个:
([1, 2, 3, 4, 5, 6], [7, 8, 9])
这是预期的行为吗?
注意
我意识到这不是一个非常常见的用例。然而,虽然错误是意料之中的,但我没想到列表会发生变化。
【问题讨论】:
-
事实上,您的第一次尝试显示错误但有效:
>>> tup[0]向我返回[1, 2, 3, 4, 5, 6]。 -
重新编辑:这可能不是一个常见的用例,但了解其原因非常重要。