python - python:dict到groupby相似关键元素的列表
问题描述
我有一个字典列表:
xList = [{491: 551}, {598: 60}, {47: 130}, {47: 451}, {47: 792}, {47: 599}, {47: 590}]
我正在尝试对类似的键值进行分组以获得:
res = [{ 491 : [551], 598: [60], 47: [130, 451, 792, 599, 590}]
我试过了:
from collections import defaultdict
v = defaultdict(list)
for key, value in sorted(xList.items()):
v[key].append(value)
但这需要一个平面字典而不是字典列表
解决方案
然后你做一个嵌套迭代。
遍历列表,然后遍历字典的(键,值)。
rslt = {}
for i in xList:
for k, v in i.items():
rslt.setdefault(k, []).append(v)
推荐阅读
- javascript - 从父 div 中删除子 div
- c++ - CMake - 如何跨平台链接到 ExternalProject_Add 生成的库?
- c++ - 减少 C++ 中的嵌套循环
- python - 在 numpy 数组上“绘制”一个随机菱形(菱形)(测试哈里斯角检测)
- python - 无法在 MacBook 上的 PyCharm 中安装 Flask
- mysql - 在 MYSQL 中分组之前尝试 SUM() 列值
- python - Pygame背景未加载
- xcode - 如何将电容器白名单插件添加到离子应用程序
- php - 使用 CURLOPT_HTTPHEADER AccessKey 保护 php 页面
- python - 使用 Dash 的简单问题,如何显示变量的更新输出?