我设置了dict2 = dict1
。当我编辑 dict2
时,原始的 dict1
也会发生变化。为什么?
>>> dict1 = {"key1": "value1", "key2": "value2"}
>>> dict2 = dict1
>>> dict2["key2"] = "WHY?!"
>>> dict1
{'key2': 'WHY?!', 'key1': 'value1'}
最佳答案
Python 从不隐式复制对象。当您设置 dict2 = dict1 时,您将让它们引用同一个 dict 对象,因此当您对其进行变异时,对它的所有引用都会继续引用当前状态的对象。
如果你想复制字典(这种情况很少见),你必须明确地这样做
dict2 = dict(dict1)
或
dict2 = dict1.copy()
关于python - 如何复制字典并仅编辑副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53040705/