合并其值为字典的字典列表的值

时间:2019-04-02 20:44:05

标签: python json

我有像这样的词典列表

[
  {'a': {'q': 1}, 'b': {'r': 2}, 'c': {'s': 3}},
  {'a': {'t': 4}, 'b': {'u': 5}, 'c': {'v': 6}},
  {'a': {'w': 7}, 'b': {'x': 8}, 'c': {'z': 9}}
]

我希望输出为

{
    'a': {'q': 1, 't': 4, 'w': 7},
    'b': {'r': 2, 'u': 5, 'x': 8},
    'c': {'s': 3, 'v': 6, 'z': 9}
}

1 个答案:

答案 0 :(得分:3)

执行此操作的方法有多种,一种是使用collections.defaultdict

import collections 

result = collections.defaultdict(dict)

lst = [
  {'a': {'q': 1}, 'b': {'r': 2}, 'c': {'s': 3}},
  {'a': {'t': 4}, 'b': {'u': 5}, 'c': {'v': 6}},
  {'a': {'w': 7}, 'b': {'x': 8}, 'c': {'z': 9}}
]

for dct in lst:
    for key, value in dct.items():
        result[key].update(value)

print(result)