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

下标值超过最大下标

描述

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

问题原因及解决方案

原因一

列表指定位置超过列表最大长度

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

如何解决

方法一:列表位置是从0开始,最大位置应为 列表长度-1

方法二:使用时先打印列表长度,根据列表最大长度来调整对应位置**

原因二

批量操作元素发生变化列表长度变化,以天猫-客户之声评价回复为例:

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

如何解决

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

方法二:每次都操作位置为0的项。循环网页相似元素,每次循环都重新获取相似元素,获取元素位置为0的项进行操作,此类方法适用于操作没有异常情况的场景(已评价解释为例,所有解释均生效,点击过的元素均变为已解释状态)

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