当我使用if语句时,List index outside error(Python)

jdzmm42g  于 2023-04-28  发布在  Python
关注(0)|答案(2)|浏览(119)

我列了个单子,

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,正如预期的那样。

xfb7svmp

xfb7svmp1#

因为迭代到len(text_split)+1,然后使用该变量i来索引text_split,所以您访问的是越界列表。请记住,列表是从 * 零 * 开始索引的。
更好的是避免range

for lst in text_split:
  if lst[0] == '1':
    print('True')
slhcrj9b

slhcrj9b2#

需要删除+1

for i in range(1, len(text_split), 1):
    if text_split[i][0] == '1':
        print("True")

相关问题