比方说,我的列表a是[1,2,3],它指向地址53367992
item_4
现在,当我在列表中添加[9]时,我知道地址的更改,现在我指向53368552
>>> a = [1,2,3]
>>> id(a)
53367992
在这种情况下,即使将[4]加到a之后,我也无法理解为什么a指向相同的地址
>>> a = a + [9]
>>> a
[1, 2, 3, 9]
>>> id(a)
53368552
请您解释一下a = a + [9]和有什么不一样? 以及列表中的+ = [9](这如何作为附加操作)?
答案 0 :(得分:3)
列表是可变的。诸如.append()
(或+=
/ __iadd__
之类的方法)会更改列表本身(就地),并且不会创建新实例。
+
(__add__
)将返回一个新实例。