IndexError:Python 中的列表超出范围

问题描述 投票:0回答:1

每次运行代码时,我都会收到此错误,老实说,我不知道为什么。我的程序导入一个文本文件,其中包含一些数据,我想用我的程序对其进行评估。

我的程序将文本文件中的数据导入到二维列表中。我想在列表中搜索特殊关键字。这是我的搜索代码。

data: list[list[str]] = [line.split() for line in fh]
        rangeOne = len(data) - 1
        for i in range(rangeOne):
            rangeTwo = len(data[i]) - 1
            if rangeTwo == -1:
                rangeTwo = 0
            for v in range(rangeTwo):
                if data[i][v] == "Kompletter":

v
更改为0或其他变化,似乎没有任何影响。我仍然收到此错误。我在
print()
查询之前插入了一个
if
函数,第二个
for-loop
在出现错误之前运行了 4 次。

一些列表项是空的,在控制台中看起来像这样

[[]]
。我认为这可能会导致问题。
data = {line.split() for line in fh}
所以我尝试创建一个字典,但后来我无法分割线。 我不知道如何解决这个问题。

python loops arraylist
1个回答
0
投票

你应该这样写你的代码:

def check(data: list[list[str]]):
    for row in data:
        for word in row:
            if word == "Kompletter":
                return True  # found your word
    return False  # didn't find your word

data: list[list[str]] = [line.split() for line in fh]
res = check(data)

然后您可以根据

res
进行工作。

© www.soinside.com 2019 - 2024. All rights reserved.