与列表类型一起使用的Python +运算符

时间:2019-03-22 11:18:58

标签: python python-3.x list

比方说,我的列表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](这如何作为附加操作)?

1 个答案:

答案 0 :(得分:3)

列表是可变的。诸如.append()(或+= / __iadd__之类的方法)会更改列表本身(就地),并且不会创建新实例。

另一方面,

+__add__)将返回一个新实例。