【发布时间】:2023-03-03 20:27:01
【问题描述】:
如何复制列表列表(或任何其他类型)以使结果列表是新对象而不是对旧对象的引用?例如,我有以下列表:
l=[[1,2],[3,4]]
我想要的结果是:
l=[[1,2],[3,4],[1,2],[3,4]]
如果我这样做l*=2,新的子列表是对旧子列表的引用。
执行l[0].append("python") 将导致
l=[[1,2,'python'],[3,4],[1,2,'python'],[3,4]]
还创建一个新列表,例如:
l2=list(l)
或
l2=l[:]
不能解决问题。我希望有新的子列表,它们独立于它们的来源,并且在更改后对其旧伙伴没有影响。我怎么能做到这一点?
【问题讨论】:
标签: list python-2.7 reference duplicates