我发现了一些TypeError: 'tuple' object does not support item assignment
关于SO的问题,但我仍然对此感到困惑:
考虑代码段:
>>> a = ([],[]) >>> a[0].append(1) # 1 >>> a ([1], []) >>> a[0] += [2] Traceback (most recent call last): File "", line 1, in a[0] += [2] TypeError: 'tuple' object does not support item assignment # 2 >>> a ([1, 2], []) # 3 >>>
我的问题是:
元组是不可变的,但1
成功地改变了它的价值.为什么?(我知道我真的不懂python不变性......)
如果1
被接受,那么2
加薪的原因是TypeError
什么?
在3
,a
得到修改,然后提出一个点是TypeError
什么?
谢谢