Объединение словарей со вложенностями

Имею 2 словаря с вложениями одинаковой глубины вложенности,

dict = [{'ABC': {'ever': 25, 'sis': 0.01}}, {'ABC': {'ever': 75, 'sis': 0.02}}]
dict1 = [{'ABC': {'ever': 25, 'te': 72}}, {'ABC': {'ever': 25, 'te': 74}}]

Просьба, подсказать, как можно универсально объединить их для получений следующего формата:

merge_dict = [{'ABC': {'ever': 25, 'sis': 0.01, 'te': 72}}, {'ABC': {'ever': 75, 'sis': 0.02, 'te': 74}}]

Спасибо!


Ответы (1 шт):

Автор решения: CrazyElf

Вероятно, можно проще, и не совсем универсально получилось, но вот так вроде работает (нужен Python >= 3.5):

dict1 = [{'ABC': {'ever': 25, 'sis': 0.01}}, {'ABC': {'ever': 75, 'sis': 0.02}}]
dict2 = [{'ABC': {'ever': 25, 'te': 72}}, {'ABC': {'ever': 25, 'te': 74}}]

merge_dict = [{k: {**d1[k], **d2[k]}} for d1,d2 in zip(dict1, dict2) for k in d1]
print(merge_dict)

Вывод:

[{'ABC': {'ever': 25, 'sis': 0.01, 'te': 72}}, {'ABC': {'ever': 25, 'sis': 0.02, 'te': 74}}]
→ Ссылка