代码之家  ›  专栏  ›  技术社区  ›  gwydion93

合并来自不同字典的值

  •  0
  • gwydion93  · 技术社区  · 7 年前

    假设我有两本字典:

    dict_a = {'01A': 'X', '02B': 'V', '03C': 'AE'}
    dict_b = {'01A': 'V', '02B': 'D', '03C': 'X'}
    

    它们基本上有相同的钥匙。我想要的是:

    dict_c = {'01A': ['X', 'V'], '02B': ['V', 'D'], '03C': ['AE', 'X']}
    

    正确的方法是什么?

    1 回复  |  直到 7 年前
        1
  •  1
  •   julian salas SmileMZ    7 年前

    有很多方法可以做到这一点,其中一个可以使用 defaultdict collections 像这样的。

    from collections import defaultdict
    dict_a = {'01A': 'X', '02B': 'V', '03C': 'AE'}
    dict_b = {'01A': 'V', '02B': 'D', '03C': 'X'}
    d = defaultdict(list)
    for d1, d2 in dict_a.items() + dict_b.items():
        d[d1].append(d2)
    print(dict(d))