【问题标题】:How to combine two dictionaries that have dictionaries as values (second-level dictionaries) [duplicate]如何组合两个以字典为值的字典(二级字典)[重复]
【发布时间】:2017-10-25 12:36:28
【问题描述】:

我目前有两本字典。我想获取包含更多键值对的第二个字典,并将字典值附加到第一个字典中的值。

Dictionary1 = {'47289': {'totcount': 5.0, 'totunits': 89.8}, 
               '18109': {'totcount': 82.92, 'totunits': 829.67}}

Dictionary2 = {'47289': {'average': 927.90, 'median': 288.8}, 
               '18109': {'average': 927.92, 'median': 3728.97},
               '92738': {'average': 729.91, 'median': 472.88}}

Result = {'47289': {'totcount': 5.0, 'totunits': 89.8, 'average': 927.90, 'median': 288.8}, 
          '18109': {'totcount': 82.92, 'totunits': 829.67, 'average': 927.92, 'median': 3728.97}}

当我尝试使用 python update() 函数时:

Dictionary1.update(Dictionary2)

结果是第一个字典具有第二个字典值,并且第一个字典值已被删除。

Dictionary1 = {'47289': {'average': 927.90, 'median': 288.8}, 
               '18109': {'average': 927.92, 'median': 3728.97}}

【问题讨论】:

  • 不完全是。 OP 想要合并二级字典。

标签: python dictionary iteration keyvaluepair


【解决方案1】:

这应该可行:

for key, value in Dictionary1.iteritems():
    value.update(Dictionary2[key])

(需要更新的是嵌套字典。)

【讨论】:

  • 完美运行!谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-20
  • 1970-01-01
  • 2012-09-12
相关资源
最近更新 更多