TypeError:“int”对象不可编辑如何解析python di

2024-10-03 19:19:42 发布

您现在位置:Python中文网/ 问答频道 /正文

mydict =  { 
'ServiceResult': { 
'msgBody': { 
  'itemList': [{ 
    'busRouteId': '100100016', 
    'busRouteNm': '110A', 
    }, { 
    'busRouteId': '100100015', 
    'busRouteNm': '110B', 
    }, { 
    'busRouteId': '165000146', 
    'busRouteNm': '1100', 
    }, { 
    'busRouteId': '165000147', 
    'busRouteNm': '1101', 
    }, { 
    'busRouteId': '218000011', 
    'busRouteNm': '1100', 
    }, { 
    'busRouteId': '222000074', 
    'busRouteNm': '1100', 
    }, { 
    'busRouteId': '235000085', 
    'busRouteNm': '1100', 
    }, { 
    'busRouteId': '234000879', 
    'busRouteNm': '1101', 
    }, { 
    'busRouteId': '204000082', 
    'busRouteNm': 'G8110', 
    }] 
 } 
} 
} 

我想打印所有itemList的'busRouteId' 所以我写了一个代码:

for i in len(mydict['ServiceResult']['msgBody']['itemList']): 
    print(mydict['ServiceResult']['msgBody'][i]['busRouteId']) 

但它不起作用,只看到这个错误:

TypeError: 'int' object is not iterable.

如何解析python dict? 如何修改


Tags: 代码inforlenobject错误mydictint
2条回答

您需要将range()len()一起使用,还需要在循环内使用'itemList'

 for i in range(len(mydict['ServiceResult']['msgBody']['itemList'])):
    print(mydict['ServiceResult']['msgBody']['itemList'][i]['busRouteId'])

或者简单地迭代'itemList'中的项

 for item_list in mydict['ServiceResult']['msgBody']['itemList']:
    print(item_list['busRouteId'])

您正在尝试迭代整数,因为len函数返回一个int。应该在外部位置使用range:

mydict =  { 
'ServiceResult': { 
'msgBody': { 
  'itemList': [{ 
    'busRouteId': '100100016', 
    'busRouteNm': '110A', 
    }, { 
    'busRouteId': '100100015', 
    'busRouteNm': '110B', 
    }, { 
    'busRouteId': '165000146', 
    'busRouteNm': '1100', 
    }, { 
    'busRouteId': '165000147', 
    'busRouteNm': '1101', 
    }, { 
    'busRouteId': '218000011', 
    'busRouteNm': '1100', 
    }, { 
    'busRouteId': '222000074', 
    'busRouteNm': '1100', 
    }, { 
    'busRouteId': '235000085', 
    'busRouteNm': '1100', 
    }, { 
    'busRouteId': '234000879', 
    'busRouteNm': '1101', 
    }, { 
    'busRouteId': '204000082', 
    'busRouteNm': 'G8110', 
    }] 
 } 
} 
}
item_list = mydict['ServiceResult']['msgBody']['itemList']
for i in range(len(item_list)): 
    print(item_list[i]['busRouteId']) 

相关问题 更多 >