【发布时间】:2018-03-15 17:40:47
【问题描述】:
我正在寻找一种 Pythonic/优雅的方式来将我的 dict 列表(例如 LD)转换为 dict 的聚合列表(例如 DD)。 LD 中的 dict 有 id、result 和 count 作为键,并且可以有多个具有相同 id 和不同 results 的 dict。生成的字典 DD 应该将 id 聚合在一起,并将所有 results 一起显示(在 results 中)。
这是一个例子:
LD = [
{'id':1, 'result': 'passed', 'count': 10},
{'id':1, 'result': 'failed', 'count': 20},
{'id':2, 'result': 'failed', 'count': 100}
]
这是我想要的输出
DD = [
{'id':1, 'results': {'passed': 10, 'failed': 20}},
{'id':2, 'results': {'passed': 10}}
]
我可以创建一个 for 循环和一个输出 dict 来处理 LD 中的每个项目,但我想知道这是否可以使用诸如 zip 之类的东西在单行中实现。
提前致谢!
【问题讨论】:
-
你的 dict 对我来说就像另一个 dicts 列表
-
看起来您想要聚合具有相似 id 的元素。它看起来不像嵌套的字典。
-
我的错——你是对的!我修正了措辞。感谢您指出。
标签: python python-2.7 dictionary