帮助中心
快速寻找答案
首页>帮助手册>

下标值超过最大下标

可能原因


描述

当程序运行时报错:下标值超过最大下标(如图)

可能原因及解决方案

原因一

列表指定位置超过列表最大长度,如下图,列表长度为5,最大位置应为4,获取位置5会报下标值超过最大下标

如何解决

列表位置是从0开始,最大位置应为:列表长度-1。使用时先打印列表长度,根据列表最大长度来调整对应位置

原因二

批量操作元素发生变化列表长度变化

天猫-客户之声评价回复为例

场景介绍:点击解释按钮解释后,解释按钮会变为已解释状态,此时相似元素列表长度会在原有基础上-1,而下次循环时循环到的元素位置还在递增,会出现下标值超过最大下标的报错

如何解决

方法一:倒序循环法(推荐)

思路介绍:获取相似元素列表,根据列表长度进行次数循环,从最大位置 (len(list)-1) 循环到位置0,递增值为-1,次数操作过的元素变化不会对后面的操作产生影响

方法二:每次都操作位置为0的项

此类方法适用于操作没有异常情况的场景(已评价解释为例,所有解释均生效,点击过的元素均变为已解释状态)

思路介绍:循环网页相似元素,每次循环都重新获取相似元素,获取元素位置为0的项进行操作

问题没有解决?去社区提问