我列了个单子,
text_split = [['5', '5', '12\n'], ['1', '1\n'], ['1', '2\n'], ['2', '1\n'], ['2', '3\n'], ['3', '1\n'], ['3', '2\n'], ['3', '4\n'], ['4', '2\n'], ['4', '4\n'], ['1', '2\n'], ['2', '3\n'], ['5', '5']]
我使用下面的for循环来遍历列表,并计算出第一个索引是否为1。
它将返回“IndexError:列表索引超出范围:
for i in range(1, len(text_split)+1, 1):
if text_split[i][0] == '1':
print("True")
代码工作并产生True
,其中第一个索引中有一个1,但由于错误,我无法继续。
我可以在for循环中这样做,没有错误。
print(text_split[6][0])
这会产生整数3,正如预期的那样。
2条答案
按热度按时间xfb7svmp1#
因为迭代到
len(text_split)+1
,然后使用该变量i
来索引text_split
,所以您访问的是越界列表。请记住,列表是从 * 零 * 开始索引的。更好的是避免
range
。slhcrj9b2#
需要删除+1