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)
做这种事最简单的解决办法是什么?
我可以使用基本库,除了集合.
解决方案必须是通用的,例如,如果将来出现其他一些字典
输入:
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)