编写检查以避免“IndexError: list index out of range”错误
我在写一个Python脚本时,需要在进入一个循环之前做个检查:
for fact_entry in range(len(facts['items'][0]['facts'])):
[...]
我遇到了这个错误:
[...]
for fact_entry in range(len(facts['items'][0]['facts'])):
~~~~~~~~~~~~~~^^^
IndexError: list index out of range
如果我加了一些打印命令,我发现当'facts'包含这个值时,我会收到这个错误:
{'items': [], 'totalCount': 0, 'partialResults': False, 'metadata': {'processingTime': 2}
那么,我该怎么检查这个值,以便跳过这个循环呢?
1 个回答
1
把你的for循环放在这个if条件下面。
if len(facts['items'])>0:
for fact_entry in range(len(facts['items'][0]['facts'])):
顺便提一下,fact_entry会是一个索引,因为range会返回一系列可以迭代的数字,你可以通过以下方式获取fact_entry:
for fact_entry in facts['items'][0]['facts']:
....