【发布时间】:2019-04-18 07:11:09
【问题描述】:
我创建了一个列表的副本。 当一个项目从一个副本中删除时 - 它也从原始副本中删除。
a = ['alpha', 'beta', 'gamma', 'delta']
b = a
b.remove('alpha')
print 'A list is', a
print 'B list is', b
我应该如何创建一个不影响原始列表的独立副本?
后期添加
要了解这个错误的原因-应该参考浅拷贝和深拷贝的区别Python documentation - 8.17. copy
浅拷贝和深拷贝之间的区别仅与复合对象(包含其他对象的对象,如列表或类实例)有关:
- 浅拷贝构造一个新的复合对象,然后(在可能的范围内)向其中插入对原始对象的引用。
- 深拷贝构造一个新的复合对象,然后递归地将原始对象的副本插入其中。
【问题讨论】:
-
我刚得到一个 -1 没有任何评论 - 这没有帮助。如果您认为该问题无关紧要、错误或无用 - 请解释(或相应标记)
标签: python-2.7 list deep-copy shallow-copy