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

Python循环查找列表最大值索引输出重复结果问题排查

代码问题分析
  • 核心问题出在list.index()方法的行为上:该方法只会返回列表中第一个和查询值匹配的元素的索引。当你遍历到索引4位置的41.0时,调用vl.index(x)依旧会返回第一个匹配的索引2,不会返回当前元素的实际索引,所以最终得到重复的2。
  • 额外优化点:你在循环的判断逻辑里每次都执行max(vl)计算最大值,属于重复计算,不会影响结果但会降低运行效率,建议提前把最大值计算好存储到变量中复用。
正确实现参考
vl = [40.08, 36.6, 41.0, 35.2, 41.0]
indices = []
max_val = max(vl) # 提前计算最大值,避免循环内重复计算
for idx, x in enumerate(vl): # 同时遍历索引和元素值
    if x == max_val:
        indices.append(idx) # 直接存入当前遍历到的索引,不需要再查index
print(indices) # 输出 [2, 4]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 06:27:03