如何在 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
部分,它基本上跳过了空行
我有一个非常大的 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
部分,它基本上跳过了空行