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? 我该如何修改??
答案 0 :(得分:0)
您需要将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'])
答案 1 :(得分:0)
您正在尝试迭代整数,因为len
函数返回一个int值。您应该在外部使用范围:
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'])