有人可以向我解释一下吗?这对我来说毫无意义。
我将字典复制到另一个字典中,然后编辑第二个字典,并且两者都被更改。为什么会这样呢?
>>> dict1 = {"key1": "value1", "key2": "value2"}
>>> dict2 = dict1
>>> dict2
{'key2': 'value2', 'key1': 'value1'}
>>> dict2["key2"] = "WHY?!"
>>> dict1
{'key2': 'WHY?!', 'key1': 'value1'}
最佳答案
Python绝不会隐式复制对象。设置dict2 = dict1
时,将使它们引用同一精确的dict对象,因此,在对它进行突变时,对其的所有引用都将始终引用该对象的当前状态。
如果要复制字典(这种情况很少见),则必须使用
dict2 = dict(dict1)
或者
dict2 = dict1.copy()