Слияние значений из отдельных словарей - PullRequest
0 голосов
/ 19 октября 2018

Допустим, у меня есть 2 словаря:

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 Ответ

0 голосов
/ 19 октября 2018

Есть много способов для достижения этой цели, один из которых может быть 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))
...