这是一个基本的问题,但在这里:
请考虑以下代码:
listA = ['a','b','c']
listB = listA
listB.pop(0)
print listB
print listA
输出如下:
['b','c']
['b','c']
但是,输出不应该是:
['b','c']
['a','b','c']
这到底发生了什么?我怎么能得到预期的输出?在此先感谢:)
答案 0 :(得分:5)
变量listB
只不过是对listA
的引用。如果您需要listA
的副本,可以发出
listB = listA[:]
表示浅拷贝或
import copy
listB = copy.deepcopy(listA)
用于深层复制。 Here是关于这个主题的好读物。