<分区>
例如考虑以下内容:
a = [1,5,3,4]
b = a
a += [6]
在我将 6 附加到列表 a 之后,它也将它附加到列表 b,因为它们相互引用(如果我写成 b+=[6],它会产生相同的结果)。我需要的是将列表 b 初始化为与列表 a 相同但不使其引用列表 a。
谢谢!
<分区>
例如考虑以下内容:
a = [1,5,3,4]
b = a
a += [6]
在我将 6 附加到列表 a 之后,它也将它附加到列表 b,因为它们相互引用(如果我写成 b+=[6],它会产生相同的结果)。我需要的是将列表 b 初始化为与列表 a 相同但不使其引用列表 a。
谢谢!
最佳答案
您正在执行所谓的浅拷贝。你想做一个深拷贝。
这里有一篇关于 python 中浅层复制和深度复制的文章: https://docs.python.org/2/library/copy.html
关于Python。如何根据另一个列表声明一个列表,但要使它们不相互引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27305007/