python - 在 Python 的列表中合并字典
问题描述
假设我在 python 中有一个字典列表,如下所示:
[{"key": "a", "prop1": "alpha"}, {"key": "a", "prop2": "beta"}, {"key": "b", "prop1": "alpha"}]
我将如何合并 dicts 使列表变为:
[{"key": "a", "prop1": "alpha", "prop2": "beta"}, {"key": "b", "prop1": "alpha"}]
解决方案
您可以使用dict.update
:
lst = [
{"key": "a", "prop1": "alpha"},
{"key": "a", "prop2": "beta"},
{"key": "b", "prop1": "alpha"},
]
out = {}
for d in lst:
out.setdefault(d["key"], {}).update(d)
print(list(out.values()))
印刷:
[{'key': 'a', 'prop1': 'alpha', 'prop2': 'beta'}, {'key': 'b', 'prop1': 'alpha'}]
推荐阅读
- wordpress - 将子文件夹重定向到 WordPress 中的新文件夹
- java - HttpRequestException:无法在 Android Studio 3.1.1 中发出警告(但同步成功)
- javascript - 如何获取 Observable Array 属性的唯一值 - Angular
- java - 如何在 Eclipse 项目(Java)中永久包含外部库?因此,当将其移植到另一台计算机时,它仍然存在
- python - 如何输入具有可变输入数据长度的 Scikit 学习 MLP 分类器。
- javascript - CakePHP 中的 Ajax 菜单
- git - git list 删除了整个 repo 历史中的文件
- c - 如何在 PostgreSQL 下操作 C 函数中的元组?
- ios - 是否可以使用 MDM 或 Apple Configurator 预配置 OneDrive、DropBox 等应用程序?
- javascript - 带有私有变量的 TypeScript 类声明错误