【发布时间】:2020-12-23 08:54:02
【问题描述】:
def get_file():
lst_Filename = []
while True:
Filename = input('\nPlease enter name of ballot file: ')
try:
read_Filename = open(Filename, 'r')
txt_Filename = read_Filename.readlines()
lst_Filename = [word.strip() for word in txt_Filename]
read_Filename.close()
return lst_Filename
except IOError:
print("The file",Filename,"does not exist.")
continue
lst_Filename = get_file()
lst2 = {}
for item in lst_Filename:
if item.index('1') == 0:
print(item)
lst_Filename 的结构如下:['1490 2 Mo', '1267 3 Mo', '2239 6 Mo', '1449 7 Ks'],实际文件包含列表中的数百个项目。
我正在尝试选择以“1”开头的项目。当我运行程序时,会打印前两项
1490 2 Mo
1267 3 Mo
然后我得到 ValueError: substring not found,它说问题出在“if item.index('1') == 0:”行上,我假设因为 '2239 6 Mo' 不以 ' 开头1'
我不明白的是,我的代码对 lst_Filename 中的每个项目都表示,如果该项目(这是一个字符串)在其 0 索引中具有子字符串“1”,则选择该项目。
'if'不是选择语句吗,为什么程序不跳过不以'1'开头的项目。
【问题讨论】:
标签: python-3.x