Python列表更新自身

时间:2014-06-03 17:07:14

标签: python list python-2.7

这是一个基本的问题,但在这里:

请考虑以下代码:

listA = ['a','b','c']
listB = listA
listB.pop(0)
print listB
print listA

输出如下:

['b','c']
['b','c']

但是,输出不应该是:

['b','c']
['a','b','c']

这到底发生了什么?我怎么能得到预期的输出?在此先感谢:)

1 个答案:

答案 0 :(得分:5)

变量listB只不过是对listA的引用。如果您需要listA的副本,可以发出

listB = listA[:] 

表示浅拷贝或

import copy
listB = copy.deepcopy(listA)

用于深层复制。 Here是关于这个主题的好读物。