You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python处理PostgreSQL查询结果并转换为指定嵌套数组结构

Python实现PostgreSQL查询结果转层级嵌套结构

实现代码(推荐用法,依赖collections.defaultdict)

from collections import defaultdict

# psycopg2返回的查询结果集
query_result = [(1, 20386, 3), (2, 20386, 5), (3, 20386, 5), (1, 20387, 2), (2, 20387, 2), (3, 20387, 3), (1, 20390, 3), (2, 20390, 3), (3, 20390, 3)]

# 初始化嵌套字典
user = defaultdict(dict)

# 遍历结果集赋值
for inner_idx, outer_key, val in query_result:
    # 如需外层键为数字类型,去掉str()包裹即可
    user[str(outer_key)][inner_idx] = val

# 可选:转换为普通原生字典
user = dict(user)

无依赖实现(仅用原生字典)

user = {}
for inner_idx, outer_key, val in query_result:
    outer_key_str = str(outer_key)
    if outer_key_str not in user:
        user[outer_key_str] = {}
    user[outer_key_str][inner_idx] = val

结果验证

执行后即可通过和示例一致的方式取值:

  • user['20386'][1] 返回3
  • user['20387'][3] 返回3
  • user['20390'][2] 返回3

内容的提问来源于stack exchange,提问作者mick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 14:09:03