我设置 dict2 = dict1
。当我编辑 dict2
时,原来的 dict1
也会发生变化。为什么?
>>> dict1 = {"key1": "value1", "key2": "value2"}
>>> dict2 = dict1
>>> dict2["key2"] = "WHY?!"
>>> dict1
{'key2': 'WHY?!', 'key1': 'value1'}
原文由 MadSc13ntist 发布,翻译遵循 CC BY-SA 4.0 许可协议
Python 从不 隐式复制对象。当您设置
dict2 = dict1
时,您使它们引用完全相同的 dict 对象,因此当您对其进行变异时,对它的所有引用都会继续引用处于当前状态的对象。如果你想复制字典(这种情况很少见),你必须明确地使用
要么