У меня есть два вложенных словаря, которые имеют перекрывающиеся клавиши на первом уровне, но разные клавиши на втором уровне. Я хочу объединить их, чтобы новый словарь имел все ключи.Как слить два вложенных словаря вместе?
A = {'id1': {'key1': 1, 'key2': 2 }, 'id2':{'key1': 3, 'key2': 4 }}
B = {'id1': {'key3': 5}, 'id2': {'key3': 6}}
Результат должен быть
A_B = {'id1': {'key1': 1, 'key2': 2, 'key3': 5}, 'id2':{'key1': 3, 'key2': 4, 'key3': 6}}
Я знаю, что я мог бы сделать for
петлю
for key in A:
A[key].update(B[key])
Но я хотел бы знать, если есть чистое решение.
Я незнаком с '' **. Что это делает? – Cecilia
@ 2cents: он применяет ключи словаря в качестве аргументов ключевого слова. См. [Что делает \ * \ * (двойная звезда) и \ * (звезда) для параметров Python?] (Http://stackoverflow.com/q/36901). В этом случае тривиально объединить два словаря. –