如何翻转以下列表:
[{'xx1': {'test1': 8}}, {'xx1': {'test3': 2}}, {'yy2': {'test1': 5}}, {'yy2': {'test5': 6}}]
到
[{'xx1' : {'test1': 8, 'test3':2}, 'yy2' : {'test1': 5, 'test5': 6}}]
完成此任务的语法最干净的方法是什么?或者,如何通过使用reduce()
来实现?
谢谢你的帮助!
类似下面的内容
from collections import defaultdict
data = defaultdict(dict)
lst = [{'xx1': {'test1': 8}}, {'xx1': {'test3': 2}}, {'yy2': {'test1': 5}}, {'yy2': {'test5': 6}}]
for entry in lst:
for k, v in entry.items():
kk, vv = next(iter(v.items()))
data[k][kk] = vv
print(data)
输出defaultdict(<class 'dict'>, {'xx1': {'test1': 8, 'test3': 2}, 'yy2': {'test1': 5, 'test5': 6}})