>>> a = (1,2)
>>> a += (3,4)
>>> a
(1, 2, 3, 4)
>>>
还有一个列表:
>>> b = [1,2]
>>> b += [3,4]
>>> b
[1, 2, 3, 4]
>>>
由于元组是不可变的而列表是可变的,我们如何解释这种行为?
请您参考如下方法:
在这个例子中,你并没有改变实际的元组,你只是改变了变量 a 指向的元组。在此示例中,a += (3, 4) 与 a = a + (3, 4) 相同。如果我们在操作前后检查a 的id,我们可以看到不同之处:
>>> a = (1, 2)
>>> id(a)
60516360
>>> a += (3, 4)
>>> id(a)
61179528
对于列表,+= 调用列表上的 .extend(),这会就地更改它。
>>> b = [1, 2]
>>> id(b)
62480328
>>> b += [3, 4]
>>> id(b)
62480328
注意 b 的 id 在操作后没有改变。
