首页 > 解决方案 > TypeError:'int'对象不可迭代如何解析python dict

问题描述

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?我该如何修改它?

标签: python

解决方案


您需要使用range()with 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'])

推荐阅读