python - Python:有效地组合列表字典
问题描述
我正在寻找一个字典列表,每个字典都有一个键和值列表。我想输出不同的键,以及这些键的不同值。
a1 = {"lang": ["en"], "country": ["US"]}
a2 = {"lang": ["en"], "country": ["UK"]}
a3 = {"lang": ["fr"], "region": ["EU"]}
# many, many more...
full_list = [a1, a2, a3, ...]
output = {}
for f in full_list:
for k,v in f.items():
if k not in output:
output[k] = set()
output[k].update(set(v))
output = {k:list(v) for k,v in output.items()}
print(output)
>>> {"lang": ["en", "fr"], "country": ["US"], "region": ["EU"], ...}
这可行,但它非常冗长且有点慢。有没有一种快速的pythonic方式来做到这一点?
解决方案
推荐阅读
- reactjs - 如何使用 React 钩子测试功能组件内部的功能?
- javascript - 如何使用 openlayers 从 Geoserver WMS 层获取特定数据列?
- javascript - 如何将库导入 React.js 中的网络工作者?
- c++ - 为什么将字符串插入 unordered_map 的时间复杂度平均为常数?
- python - pexpect,处理子进程
- powerbi - Microsoft Power BI - 登录用户的不同报告
- python - 如何返回一个 int 以浮动最多 2 个零?
- java - 当我在列表中有空值时如何进行排序
- tcp - 在 Centos os 8 运行 Plesk 防火墙中打开一个端口
- c# - 哪个文件定义了代码隐藏文件中前端和方法之间的关系?