当前位置: 代码迷 >> 综合 >> python bug(九)——IndexError: list index out of range
  详细解决方案

python bug(九)——IndexError: list index out of range

热度:21   发布时间:2023-11-23 22:48:07.0

错误如下:

           

data = line.split(",") #通过指定分隔符‘,’对字符串进行切片

label = float(data[9]) #统计cvs文件中的列数,【】里的值应该比实际列数少1

我.cvs文件有8列,则应该是

label = float(data[7])

关于Error:IndexError: list index out of range

Where?

  对Python中有序序列进行按索引取值的时候,出现这个异常

Why?

  对于有序序列: 字符串 str 、列表 list 、元组 tuple进行按索引取值的时候,默认范围为 0 ~ len(有序序列)-1,计数从0开始,而不是从1开始,最后一位索引则为总长度减去1。当然也可以使用 负数表示从倒数第几个,计数从-1开始,则对于有序序列,总体范围为 -len(有序序列) ~ len(有序序列)-1,如果输入的取值结果不在这个范围内,则报这个错

Way?

  检查索引是否在 -len(有序序列) ~ len(有序序列)-1 范围内,修改正确

 

错误代码:

1

2

3

4

name = "beimenchuixue"

students = ["beimenchuixue""boKeYuan""Python""Golang"]

print(name[20])

print(students[4])

正确代码:

1

2

3

4

name = "beimenchuixue"

students = ["beimenchuixue""boKeYuan""Python""Golang"]

print(name[3])

print(students[3])

 

参考资料:

Python split()方法:https://www.runoob.com/python/att-string-split.html

IndexError: list index out of range:https://www.cnblogs.com/2bjiujiu/p/9063864.html

  相关解决方案