Python 如何在不更改原始字典的情况下为重复字典中的列表赋值 输出

Python 如何在不更改原始字典的情况下为重复字典中的列表赋值 输出,python,list,dictionary,Python,List,Dictionary,如何分配dic而不更改d并返回 d= {1:[2]} dic= {1:[2]} 使用: 您现在拥有的是一个浅拷贝:它只是列表引用的一个拷贝。因此,如果您更改一个词典中列表的内容,另一个词典中列表的内容也会更改。您可以使用deepcopy功能(而不是copy)创建与d相同的新词典。不要忘了从copy import deepcopy导入它。deepcopy由于没有复制字典中的每个条目,它只是复制引用(即浅拷贝)这是错误的,您不需要对dict进行新引用。进行新引用只需将对dict中对象的引用复制到新

如何分配
dic
而不更改
d
并返回

d= {1:[2]}
dic= {1:[2]}
使用:


您现在拥有的是一个浅拷贝:它只是列表引用的一个拷贝。因此,如果您更改一个词典中列表的内容,另一个词典中列表的内容也会更改。

您可以使用
deepcopy
功能(而不是
copy
)创建与
d
相同的新词典。不要忘了从copy import deepcopy导入它。deepcopy由于没有复制字典中的每个条目,它只是复制引用(即浅拷贝)这是错误的,您不需要对dict进行新引用。进行新引用只需将对dict中对象的引用复制到新词典中@是的,这是我的错,谢谢你的注意。
d= {1:[2]}
dic= {1:[2]}
d= {1:[]}
dic= {1:[2]}
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]}