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

Python嵌套结构取值:如何访问字典内列表中字典的'c'字段值

报错根因

触发类型错误的核心原因是对接口返回字段的类型判断失误:
从接口返回的JSON结构可以看到,results字段是列表(数组)类型,不是字典类型。Python中列表仅支持整数/切片索引,不支持直接传入字符串key取值,因此编写crypto_data['results']['c']时会直接抛出类型错误。

修复方案

results列表的第一个元素(索引值为0)才是存储K线行情数据的字典,按层级依次索引即可拿到目标收盘价,将报错的打印语句替换为以下代码即可正常运行:

print(f"The previous price of {coin} is {crypto_data['results'][0]['c']}")
优化建议
  • 实际使用时建议增加容错判断,先校验results列表是否非空再取值,避免接口异常返回空数据时触发索引越界错误,参考写法:
if crypto_data.get("totalResults", 0) > 0 and len(crypto_data.get("results", [])) > 0:
    prev_close = crypto_data['results'][0]['c']
    print(f"The previous price of {coin} is {prev_close}")
else:
    print(f"获取{coin}前一日收盘价失败")
  • 调试接口返回数据时,可以先用type()函数打印目标字段的类型,确认是列表还是字典后再编写索引逻辑,能规避绝大多数同类取值错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.09 16:15:43