python:list append - 每次创建一个新列表?

时间:2014-12-12 03:13:36

标签: python list append

在python的列表中附加下划线机制是什么?

IE。 a = [1,2,3]; a.append(3)然后a是[1,2,3,3]

Dose python实际创建了一个新列表tmp [1,2,3,3],然后将该列表分配给?

2 个答案:

答案 0 :(得分:2)

不,它没有。 List是Python中的可变类型,这意味着追加操作会改变内存中的原始结构。

>>> a = [1,2,3]
>>> id(a)
4325551112
>>> a.append(4)
>>> id(a)
4325551112

就是这样。

答案 1 :(得分:1)

不会修改原始列表,但不会返回新列表,因为列表是可变的。

举个例子:

a = [1,2,3]
print a.append(4)

将返回None,因为append不会返回新列表。

print a.pop(1)

将在弹出删除时打印1并返回1