d = {1:[]}
dic = d.copy()
dic[1].append(2)
print "d=", d
print "dic=", dic
输出
d= {1:[2]}
dic= {1:[2]}
如何在不改变d
的情况下赋值dic
并返回
d= {1:[]}
dic= {1:[2]}
最佳答案
使用copy.deepcopy()
:
In [5]: import copy
In [6]: d = {1:[]}
In [7]: dic = copy.deepcopy(d)
In [8]: dic[1].append(2)
In [9]: d
Out[9]: {1: []}
In [10]: dic
Out[10]: {1: [2]}
您现在拥有的是一个浅副本:它只是制作列表引用的副本。因此,如果您更改一个词典中列表的内容,它也会在另一个词典中更改。
关于python - 如何在不更改原始字典的情况下将值分配给重复字典中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15631221/