How to combine two dicts by key in python?
本问题已经有最佳答案,请猛点这里访问。
我有两个这样的口述:
DICT-1:
1 | {A:{'a1':10,'a2':20},B:{'b1':10,'b2':20}} |
DICT-2:
1 | {A:{'a3':30},B:{'b3':30},C:{'c1':100}} |
我想以这种方式组合它们:
1 | {A:{'a1':10,'a2':20,'a3':30},B:{'b1':10,'b2':20,'b3':30},C:{'c1':100}} |
迭代解可以是:
1 2 3 4 5 6 7 | 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) |
结果在
1 | d3 = {'A': {'a1': 10, 'a3': 30, 'a2': 20}, 'C': {'c1': 100}, 'B': {'b1': 10, 'b2': 20, 'b3': 30}} |
但它不会从共享密钥中求和值!