You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python for循环中list.index()返回重复索引问题原因求解

索引错误产生原因

你遇到的输出索引不符合预期的问题,是Python内置list.index()方法的特性导致的:
list.index(目标值)的查找规则是从列表头部开始遍历,返回第一个和目标值相等的元素的下标,不会返回你当前遍历位置对应元素的真实索引。

你的测试输入中前两条的分数分别是37.21和37.210,按照浮点数的运算规则这两个值完全相等,所以分数列表s的前两位元素值完全相同:

  • 遍历到下标为0的元素时,s.index(s[0])查找第一个等于37.21的元素,返回0,符合预期
  • 遍历到下标为1的元素时,s.index(s[1])仍然查找第一个等于37.21的元素,还是返回0,这就是你输出的索引序列第二位为0的直接原因。

其他潜在问题

你当前代码还存在逻辑错误:在计算第二低分的判断分支中,你写的max!=s[i]里的max是Python内置函数,不是你之前定义的变量mx,会导致第二低分的计算结果出错。

如果需要获取遍历过程中当前元素的真实索引,直接使用循环变量i即可,不需要额外调用index()方法查找。


内容的提问来源于stack exchange,提问作者Razak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 20:36:02