python - 元组到字典的Python元组
问题描述
我需要很好地改变一个看起来像这样的元组
a = ((10,1),(10,2),(10,3),(20,21),(30,31),(30,32),(40,41))
听写
b = {10:[1,2,3], 20:[21], 30:[31,32], 40:[41]}
源元组是 SQL Query 的结果;tuple 根据每个 tuple 的第一个值排序;每个元组都是一对。
我没有成功地以 pythonic 方式对其进行编码?有人可以帮忙吗?
解决方案
您可以使用defaultdict
集合模块中的 a here:
from collections import defaultdict
b = defaultdict(list)
for k, v in a:
b[k].append(v)
defaultdict(<class 'list'>, {10: [1, 2, 3], 20: [21], 30: [31, 32], 40: [41]})
推荐阅读
- c++ - 在循环中命名整数
- c# - ASP.NET Core HttpClient 请求在 webapi 返回 406 时返回 200
- git - 在 Solaris 服务器中从源代码编译 Git 时出现问题(多目标模式错误)
- google-signin - 有没有办法使用 require/import 加载“使用 Google 登录”?
- mysql - 镜像 mysql 表模式并保持同步
- rust - 使用嵌套结构时处理部分移动问题的最佳实践
- javascript - 想上传文件而不用烧瓶刷新页面
- c - 当我想按值传递时通过引用传递?
- c# - 如何格式化 MS 图表数据点的工具提示以显示 html
- groovy - 如何使用带有硒的 Tyro 最大化浏览器?