Есть ли стандартная библиотека которая сможет обновить вложенные словари?

Есть ли стандартная библиотека, которая сможет обновить вложенные словари:

old_dict = {'a': {'b': 1}, 'c': {'d': 2}}
new_dict = {'a': {'f': 3}, 'g': {'h': 4}}

old_dict.update(**new_dict)

print(old_dict)  # Выведет {'a': {'f': 3}, 'c': {'d': 2}, 'g': {'h': 4}}
# Желал увидеть {'a': {'b': 1, 'f': 3}, 'c': {'d': 2}, 'e': {'f': 3}, 'g': {'h': 4}}

Или единственный способ - это мне рекурсивно бежать по ключам и значениям и искать чего не хватает и добавлять?


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

Автор решения: strawdog
import pandas as pd
old_dict = {'a': {'b': 1}, 'c': {'d': 2}}
new_dict = {'a': {'f': 3}, 'g': {'h': 4}}
df1 = pd.DataFrame(old_dict)
df2 = pd.DataFrame(new_dict)
res = pd.concat([df1, df2]).apply(lambda x: pd.Series(x).dropna().to_dict()).to_dict()

res:

{'a': {'b': 1.0, 'f': 3.0}, 'c': {'d': 2.0}, 'g': {'h': 4.0}}
→ Ссылка