【问题标题】:Adding key-value pair to a nested dictionary [duplicate]将键值对添加到嵌套字典 [重复]
【发布时间】:2019-02-14 10:27:05
【问题描述】:

我在将键值对添加到嵌套字典时遇到了一些问题。新对似乎被添加到外部字典中的所有条目中,而不仅仅是我想要的嵌套字典。

这是一个例子:

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'}}

为什么会这样,我该如何重写我的代码来修复这个错误?

【问题讨论】:

  • 您提供与子字典相同的对象作为所有主字典键的值。
  • 可以试试fromkeys,而不是mydictionary = {k:{} for k in mykeys}

标签: python python-3.x dictionary


【解决方案1】:

mydictionary['key1'] = {'subkey1': 'value1'}

【讨论】:

  • 请添加一些解释。
  • 完美,谢谢
猜你喜欢
  • 2019-02-11
  • 2016-02-09
  • 2020-08-11
  • 2011-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-17
  • 2016-01-23
相关资源
最近更新 更多