2024-09-19 23:39:41 发布
网友
我是Python的初学者。我已经检查了我的文本文件,肯定有超过1行,所以我不明白为什么它给我的错误
---> 11 Coachid.append(split[1].rstrip()) IndexError: list index out of range
问题在于线路:
split=line.split(",") Coachname.append(split[0].rstrip()) Coachid.append(split[1].rstrip())
第一行假设line至少包含一个逗号,因此在方法split被称为变量split之后,将是一个长度至少为2的列表。但是如果line不包含逗号,那么split的长度将为1,Coachid.append(split[1].rstrip())将生成您得到的错误。您需要添加一些长度为split的条件测试
line
split
Coachid.append(split[1].rstrip())
更新
您的代码应该如下所示(假设正确的操作是将空字符串附加到Coachid列表(如果输入中缺少该字符串):
Coachid
split=line.split(",") split_length = len(split) Coachname.append(split[0].rstrip()) # append '' if split_length is less than 2: Coachid.append('' if split_length < 2 else split[1].rstrip()) etc. for the other fields
如果要在文件的行上循环,必须使用
for line in f.readlines() ...
问题在于线路:
第一行假设
line
至少包含一个逗号,因此在方法split
被称为变量split
之后,将是一个长度至少为2的列表。但是如果line
不包含逗号,那么split
的长度将为1,Coachid.append(split[1].rstrip())
将生成您得到的错误。您需要添加一些长度为split
的条件测试更新
您的代码应该如下所示(假设正确的操作是将空字符串附加到
Coachid
列表(如果输入中缺少该字符串):如果要在文件的行上循环,必须使用
相关问题 更多 >
编程相关推荐