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

Python自定义查找列表最小值函数调用缺少参数报错求助

报错直接原因

findMin函数定义时要求传入2个位置参数L、startIndx,你调用时仅传入了列表参数,缺少第二个起始索引参数,所以触发参数缺失类型错误。
可通过两种方式修复该报错:

  • 调用时补传起始索引参数:比如要从列表第0位开始查找,就写findMin([8,2,11,0,5], 0)
  • 给函数的startIndx参数设置默认值0:修改函数定义为def findMin(L, startIndx=0):,不传该参数时默认从列表开头查找。

函数逻辑错误修复

即使解决参数问题,你的函数运行结果也不符合预期,存在两处逻辑错误:

  1. 判断条件错误:你写的if i < m是拿索引值和列表元素值比大小,逻辑完全不成立,应该改为判断当前元素x小于已记录的最小值m
  2. 索引赋值逻辑写反:你写的i = index是把旧索引赋值给循环变量,没有任何意义,应该改为把当前符合要求的索引i赋值给记录用的index变量

修改后可正常运行的完整代码

def findMin(L, startIndx=0):
    m = L[startIndx]
    index = startIndx
    for i in range(startIndx, len(L)):
        x = L[i]
        if x < m:
            m = x
            index = i
    return (m, index)

a,b = findMin([8,2,11,0,5])
print(a,b)

运行输出结果为:
0 3
即列表最小值为0,对应索引为3,符合预期。

内容的提问来源于stack exchange,提问作者Or Zemer Tov

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 18:36:03