python - 使用 python 基于每个项目的第一个键对 dict 结果进行分组列表

标签 python

我正在尝试使用 Python 查找 dict 的这个 list 的输出。由于 foodata 是唯一键,因此输出应该合并它们。

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/

相关文章:

python - 我应该使用类作为全局变量的容器吗

python - Django 帖子中的 "read more"

python - Emacs 中的 Python 2 和 3

python - 如何使用len且不区分大小写?

python - Psycopg2 使用 pip 安装有效但无法在 OS X 10.9 上导入模块

python - 在 Ubuntu 18 中安装 Auto Sklearn

python - 为什么我得到 "' ResultSet' has no attribute 'findAll'“在 Python 中使用 BeautifulSoup?

python - asyncio 无法在 Windows 上读取标准输入

python - 将灰度图像转换回矢量

python - 从 python 文件导入时,如何修复嵌套在 for 循环内的 numpy.random.choice 输出?