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

如何将API返回的字典列表处理为按列聚合、人名作为键的目标结构

代码调整方案

核心逻辑说明

你当前的问题是遍历每个用户的每个字段时都创建了新字典,没有对同column的字典做合并。调整思路是先基于公共字段创建结果字典的骨架,再遍历填充所有用户的对应字段值,可自动适配新增用户的场景。

修正后代码

# 先提取排除name之外的公共字段作为转置列
columns = [key for key in data[0].keys() if key != "name"]
# 初始化结果列表,提前为每个列创建对应字典
result = []
for idx, col_name in enumerate(columns):
    result.append({
        "id": idx,
        "column": col_name
    })

# 遍历所有用户数据,填充对应字段
for user_info in data:
    user_name = user_info["name"]
    for col_idx, col_name in enumerate(columns):
        result[col_idx][user_name] = user_info[col_name]

效果验证

运行上述代码后,result变量的输出就是你需要的结构:

[
    {id: 0, column: "age", bob: 22, zack: 43},
    {id: 1, column: "gender", bob: male, zack: male}
]

如果后续API新增其他用户,代码会自动把新用户名作为key添加到每个列字典中,无需额外修改逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 03:54:04