list index out of range的错误原因是什么?
python中出现list index out of range有两种情况:
第1种可能情况:list[index]index超出范围,也就是常说的数组越界。
第2种可能情况:list是一个空的, 没有一个元素,进行list[0]就会出现该错误,这在爬虫问题中很常见,比如有个列表爬去下来为空,统一处理就会报错。
如在C语言中:a[10], 那么你引用a[10]就会出这类型错误(因为其范围是a[0]~a[9])。在python中:a = [1,2,3,4,5], 那么如果你使用a[5]也会出类似问题(范围为a[0]~a[4])。
扩展资料
尽管列表允许把自身作为元素包含在内,但建议要特别小心:在这样的列表上,equals 和 hashCode 方法不再是定义良好的。
某些列表实现对列表可能包含的元素有限制。例如,某些实现禁止 null
元素,而某些实现则对元素的类型有限制。
试图添加不合格的元素会抛出未经检查的异常,通常是 NullPointerException 或
ClassCastException。试图查询不合格的元素是否存在可能会抛出异常,也可能简单地返回 false;某些实现会采用前一种行为,而某些则采用后者。
概括地说,试图对不合格元素执行操作时,如果完成该操作后不会导致在列表中插入不合格的元素,则该操作可能抛出一个异常,也可能成功,这取决于实现的选择。此接口的规范中将这样的异常标记为“可选”。