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

Python报错TypeError: string indices must be integers的原因排查

解决TypeError: string indices must be integers(字典推导式遍历JSON字典出错)

问题场景

读取标注JSON文件后,执行以下字典推导式时触发错误:

{i['path']: i for i in json_data}

错误信息:

TypeError: string indices must be integers

该JSON数据结构为包含info、categories、items字段的字典,其中items是存储图片标注信息的列表。

错误原因

直接遍历json_data(字典类型)时,循环变量i实际上是字典的键名(字符串类型),比如'info'、'categories'、'items'。字符串只能用整数索引(如i[0]),无法通过i['path']访问字典字段,因此触发错误。

解决方案

需要遍历JSON字典中的items列表(而非整个字典),因为图片标注信息都存在这个列表里。正确的字典推导式如下:

{item['path']: item for item in json_data['items']}

这样循环变量item就是items列表中的每个标注字典对象,自然可以通过item['path']获取路径字段,生成以路径为键、标注对象为值的字典。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 01:31:17