python - 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?我该如何修改它?
解决方案
您需要使用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'])
推荐阅读
- flutter - 如何在 Flutter 中异步调用 JavaScript?
- git - 为什么 Git 只是在没有 --force 标志的情况下执行强制更新?
- javascript - 根据一个属性和日期对象的值对数组进行排序,以使用 javascript 获取最近的条目
- html - HTML 表单提交失败,文本框中出现“><”
- c# - 在没有焦点的情况下按移动键进入程序?C#
- amazon-web-services - 防止弹性 beanstalk 配置的 AWS 访问策略
- ruby-on-rails - 在 Rails 上测试的最佳方法是什么?
- nuxt.js - NuxtJS - 如何禁用路由加载/渲染?
- bash - 如何根据特殊字符从bash或shell中的行获取子字符串
- android - 如何在 Android 中使用 web3j 使用现有的 Contract