我正在尝试使用 Python 查找 dict
的这个 list
的输出。由于 foo
和 data
是唯一键,因此输出应该合并它们。
input = [{'foo': 'foo-main-123'}, {'foo': 'foo-main-345'}, {'data': 'data-main-111'}]
output = {'foo', ['foo-main-123', 'foo-main-345'], 'data': ['data-main-111']}
最佳答案
您可以使用defaultdict(list)
,然后迭代输入中每个字典中的每个 k,v 对。
试试这个:
from collections import defaultdict
input = [{'foo': 'foo-main-123'}, {'foo': 'foo-main-345'}, {'data': 'data-main-111'}]
output = defaultdict(list)
for d in input:
for k,v in d.items():
output[k].append(v)
output=dict(output)
print(output)
输出:
{'foo': ['foo-main-123', 'foo-main-345'], 'data': ['data-main-111']}
关于python - 使用 python 基于每个项目的第一个键对 dict 结果进行分组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57281847/