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

Python如何提取字典中的数组(列表) 现有代码仅输出type字段问题求解

问题原因
  • 变量重名覆盖:你将接口响应解析后的结果赋值给itemClass,循环时又用itemClass作为循环变量,直接覆盖了原始的响应数据,虽不影响本次循环结果,但属于易引发后续错误的写法。
  • 取值逻辑不符合需求:你循环过程中仅提取打印了每个元素的type字段,没有处理attributes字段,也没有构造你需要的输出结构,自然无法得到预期结果。
  • 未做JSON格式化处理:直接打印Python字典对象不会得到带缩进的标准JSON格式输出,需要调用JSON模块的格式化方法。
修复后的代码
import json

if response.status_code == 200:
    # 解析响应结果,避免变量重名
    item_list = json.loads(response.text)
    
    for item in item_list:
        # 构造你需要的输出结构,仅保留type和attributes中的attributeId
        result = {
            "type": item["type"],
            "attributes": [{"attributeId": attr["attributeId"]} for attr in item["attributes"]]
        }
        # 格式化输出,indent=4设置缩进,ensure_ascii=False兼容中文
        print(json.dumps(result, indent=4, ensure_ascii=False))
补充说明

如果你的接口返回的是单个字典而非字典列表,去掉外层的for循环,直接对解析后的字典取值构造result即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 20:09:04