【问题标题】:Merging multiple dictionary in python with same keys, if key not common append 0 to the value在python中使用相同的键合并多个字典,如果键不常见,则将0附加到值
【发布时间】:2021-08-10 04:29:48
【问题描述】:

谁能给我建议如何为我的案例合并两个字典(这里是初学者)。对于常见的键,我想附加值。如果键在一个字典中而不在另一个字典中,我想在合并字典中添加 0 作为值。

d1 = {'David': '5.5', 'John': '1.0', 'Tim' : '2' }
d2 = {'David': '42.5', 'John': '37.0'}

期望的输出

d3 = {'David' : ['5.5', '42.5'], 'John' : ['1.0', '37'], 'Tim' : ['2','0']}

【问题讨论】:

    标签: python


    【解决方案1】:

    您可以通过两个dict的键的集合来迭代可用的键,对于每个键,使用dict.get方法输出两个dict的各自值,默认值为0:

    {k: [d.get(k, '0') for d in (d1, d2)] for k in d1.keys() | d2.keys()}
    

    这会返回:

    {'David': ['5.5', '42.5'], 'John': ['1.0', '37.0'], 'Tim': ['2', '0']}
    

    【讨论】:

      猜你喜欢
      • 2020-05-03
      • 1970-01-01
      • 2019-09-18
      • 1970-01-01
      • 2018-08-02
      • 2021-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多