让我们使用内置方法dict.fromkeys()
:
dct = dict.fromkeys(["d1", "d2"], {})
dct["d1"]["x"] = 9
print(dct)
# {'d2': {'x': 9}, 'd1': {'x': 9}}
咦?这很奇怪,我只想改变dct["d1"]
!
然而这有效:
dct = {"d1": {}, "d2": {}}
dct["d1"]["x"] = 9
print(dct)
# {'d2': {}, 'd1': {'x': 9}}
这里发生了什么?为什么{"d1": {}, "d2": {}}
不等同于dict.fromkeys(["d1", "d2"], {})
?如果重要的话我会使用Python 2.7。