我想在python中创建另一个列表的备份列表.这是代码的一个例子.
x = [1,2,3]
y = x
x.pop(0)
print y
Run Code Online (Sandbox Code Playgroud)
然而,y = [2,3]当我希望它产生时,这会产生结果[1,2,3].我如何使y列表独立于x列表?
NPE*_*NPE 17
对此有一个常见的习语y = x[:].这使得它的浅层副本x存储起来y.
请注意,如果x包含对象的引用,y则还将包含对相同对象的引用.这可能是也可能不是你想要的.如果不是,请看一下copy.deepcopy().
这是一种方法:
import copy
x = [1,2,3]
y = copy.deepcopy(x)
x.pop(0)
print x
print y
Run Code Online (Sandbox Code Playgroud)