I set dict2 = dict1
。当我编辑时dict2
, 原本的dict1
也发生变化。为什么?
>>> dict1 = {"key1": "value1", "key2": "value2"}
>>> dict2 = dict1
>>> dict2["key2"] = "WHY?!"
>>> dict1
{'key2': 'WHY?!', 'key1': 'value1'}
Python never隐式复制对象。当你设置dict2 = dict1
,您使它们引用同一个确切的 dict 对象,因此当您对其进行变异时,对它的所有引用都会继续引用当前状态的对象。
如果你想复制字典(这种情况很少见),你必须明确地这样做
dict2 = dict(dict1)
or
dict2 = dict1.copy()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)