如何复制一个字典并只编辑副本
如何复制一个字典并只编辑副本
我设置了dict2 = dict1
。当我编辑dict2
时,原始的dict1
也会改变。为什么?
>>> dict1 = {"key1": "value1", "key2": "value2"} >>> dict2 = dict1 >>> dict2["key2"] = "WHY?!" >>> dict1 {'key2': 'WHY?!', 'key1': 'value1'}
admin 更改状态以发布 2023年5月21日
当你把dict2 = dict1
赋值时,你并没有复制dict1
,相反它们指向同一个引用名称,这个引用名称指向dict1
。
要复制可变类型如字典,可以使用copy
/ deepcopy
的copy
模块。
import copy dict2 = copy.deepcopy(dict1)