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

Python从JSON中查找数据报字符串索引必须为整数错误如何解决

问题修复方案

触发报错的核心原因是遍历对象选择错误。你定义的data是顶层字典结构,直接对data执行遍历操作时,Python默认迭代返回的是字典的键(此处唯一的键为字符串"ports"),而非你预期的端口配置列表。当你尝试用i["sensor"]对字符串执行下标访问时,自然会触发「字符串索引必须为整数」的类型错误,该问题和sensor字段本身的数值类型没有关联。

修正后代码

data = {
    "ports": [
            {
                    "port": "A",
                    "sensor": 4,
                    "door": "pin0",
                    "lights": "pin3"
            },
            {
                    "port": "Q",
                    "sensor": 22,
                    "door": "pin2",
                    "lights": "pin44"
            }
    ]
}

def detect(sens):
    # 遍历ports字段对应的配置列表
    for i in data["ports"]:
        if i["sensor"] == sens:
            print(i["port"])
            print(i["door"])
            print(i["lights"])
            break

验证效果

调用示例:
detect(4)

输出结果:

A
pin0
pin3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 20:48:02