以下python 3代码导致将元组('bla',1.0)添加到list1和list2。为什么?他们没有指向记忆中的同一个地方。
#copy list1 to new list2:
for c in list1:
list2.append(c)
#loop through list1 and extend list2
>>> for idxc, c in enumerate(list1):
... for idxsc, sc in enumerate(c):
... list2[idxc][idxsc].extend([tuple(('bla', 1.0))])
答案 0 :(得分:1)
制作列表及其所有内容的真实副本的方法是在嵌套列表上运行,方法是制作一份深层副本:
import copy
list2 = copy.deepcopy(list1)