如何在 Python 中匹配列表列表中元素的索引和 return 结果(一个元素与其他元素的长度不同)?

How to match index of an element from a list of list and return result (an element doesnot have similar length as others) in Python?

我有一个非常大的 txt 文件。我想通读文件的每一行并根据文件的第三个元素(列表)获取输入。

因此,我将文本文件转换为列表并遍历列表的每个元素以获得我想要的输出。

这是我的 txt 文件的一部分:

34566---There was no file in there---Mr. Gonsalves---gns@gmail.com

36122---I found the file in system---Johny---jhn@gmail.com

64322

28890---I went to see the crowd---Henry Fields---hnfl@gmail.com

44533---The weather made it perfect---Merry Vol---mvol@gmail.com

这是我使用的代码:

value = input("Enter your name:")

filename = open("test.txt", "r")
for line in filename:
  line_num = line.strip('\n').split("---")
  if line_num [2] == value:
     print(line_num[1])
     break

唯一的问题是中间的值与列表中的其他元素不同。所以,它给出了一个错误

IndexError: list index out of range

我不知道如何编写代码来忽略与列表中其他元素不同的中间元素。请帮助我。

将您的条件更改为:

if len(line_num) > 2 and line_num [2] == value:

你可以试试这个,

value = input("Enter your name:")

filename = open("anotherSix.txt", "r")
for line in filename:
    if line == '\n':
        continue
    line_num = line.strip('\n').split("---")
    if line_num [2] == value:
        print(line_num[1])
        break

如您所见,我只添加了 if line == '\n': continue 部分,它基本上跳过了空行