在词典词典中总结值

kk_*_*_pl 2 python dictionary sum python-3.x

我有这样的事情:

> d1 = {'System tests': {'failed': 5, 'passed': 0, 'total': 5},
       'Func tests': {'failed': 5, 'passed': 0, 'total': 5}}

> d2 = {'System tests': {'failed': 1, 'passed': 1, 'total': 2}, 
        'Func tests': {'failed': 3, 'passed': 2, 'total': 5}}

> d3 = {'System tests': {'failed': 0, 'passed': 0, 'total': 0}, 
        'Func tests': {'failed': 1, 'passed': 0, 'total': 1}}
Run Code Online (Sandbox Code Playgroud)

我想将值'失败',传递和总和加到一个字典中

所以输出应该是这样的:

d4 = {'System tests': {'failed': 6, 'passed': 1, 'total': 7}, 
       'Func tests': {'failed': 9, 'passed': 2, 'total': 11}
Run Code Online (Sandbox Code Playgroud)

做这种事最简单的解决办法是什么?

我可以使用基本库,除了集合.

解决方案必须是通用的,例如,如果将来出现其他一些字典

Orh*_*lak 5

输入:

d1 = {'a': 100, 'b': 200, 'c':300}
d2 = {'a': 300, 'b': 200, 'd':400}
d = {k : d1.get(k, 0) + d2.get(k,0) for k in set(d1.keys()) | set(d2.keys())}
Run Code Online (Sandbox Code Playgroud)

输出:

{'a': 400, 'b': 400, 'c': 300, 'd': 400}
Run Code Online (Sandbox Code Playgroud)