项目在列表中有相同的存储器位置

问题描述:

我有以下代码:项目在列表中有相同的存储器位置

a = [1,2] 

b = list(a) 

print id(a[0]) 
print id(b[0]) 

列表a和b具有不同的存储位置。但它们中的元素具有相同的位置。我怎么能让这两个不同。

list创建一个新列表,但不会执行深层复制,即克隆里面的所有元素。

你需要的是一个clone(也被称为deep copy)。在Python中看到好的替代方案(和基准测试)的答案:How to clone or copy a list?