我在向嵌套字典添加键值对时遇到了一些问题。新的键值对似乎被添加到了外部字典中所有条目,而不是只添加到我想要的嵌套字典中。
以下是一个示例:
mykeys = ['key1', 'key2', 'key3']
mydictionary = dict.fromkeys(mykeys, {})
mydictionary['key1']['subkey1'] = 'value1'
mydictionary
我期望看到以下结果,只有将“subkey1”添加到“key1”字典中:
{'key1': {'subkey1': 'value1'},
'key2': {},
'key3': {}}
相反,它会将subkey1/value1对添加到外部字典的每个元素中:
{'key1': {'subkey1': 'value1'},
'key2': {'subkey1': 'value1'},
'key3': {'subkey1': 'value1'}}
为什么会出现这种情况,我该如何重新编写代码以修复这个错误?
mydictionary = {k:{} for k in mykeys}
代替fromkeys
。 - niraj