如何在python中用键组合两个dicts?

ole*_*mil -2 python dictionary python-2.7

我有两个像这样构建的dicts:

快译通-1:

{A:{'a1':10,'a2':20},B:{'b1':10,'b2':20}}
Run Code Online (Sandbox Code Playgroud)

快译通-2:

{A:{'a3':30},B:{'b3':30},C:{'c1':100}}
Run Code Online (Sandbox Code Playgroud)

我想用这种方式组合它们:

{A:{'a1':10,'a2':20,'a3':30},B:{'b1':10,'b2':20,'b3':30},C:{'c1':100}}
Run Code Online (Sandbox Code Playgroud)

Don*_*Don 5

迭代解决方案可能是这样的:

d1 = {'A':{'a1':10,'a2':20},'B':{'b1':10,'b2':20}}
d2 = {'A':{'a3':30},'B':{'b3':30},'C':{'c1':100}}

d3 = {}
for d in [d1, d2]:
    for k, v in d.items():
        d3.setdefault(k, {}).update(v)
Run Code Online (Sandbox Code Playgroud)

结果是

d3 = {'A': {'a1': 10, 'a3': 30, 'a2': 20}, 'C': {'c1': 100}, 'B': {'b1': 10, 'b2': 20, 'b3': 30}}
Run Code Online (Sandbox Code Playgroud)

但它不会对共享密钥的值求和!