【发布时间】:2021-01-14 01:20:34
【问题描述】:
我有这个例子:
d = {}
x = {'key1': 'value1', 'key2': 'value2'}
above = ['abovekey1', 'abovekey2']
for ak in above:
d[ak] = x
d[ak]['key2'] = str(ak)
d的输出是:
{'abovekey1': {'key1': 'value1', 'key2': 'abovekey2'},
'abovekey2': {'key1': 'value1', 'key2': 'abovekey2'}}
但我编写的代码期望得到这个输出:
{'abovekey1': {'key1': 'value1', 'key2': 'abovekey1'},
'abovekey2': {'key1': 'value1', 'key2': 'abovekey2'}}
如何更改代码以产生我期望的输出以及在上面的示例中我缺少什么?
谢谢大家!
【问题讨论】:
-
您在
d中添加了对x的多个引用。如果你想让它们不同,你想复制x,就像你把它放在d中一样。
标签: python dictionary