Python查找列表最大元素位置报错:ValueError: max() arg is an empty sequence
为什么会出现
ValueError: max() arg is an empty sequence错误? 这个错误的原因其实特别直白——你传给max()函数的列表l是空的!
咱来拆解一下你的代码逻辑:n=l.index(max(l))会先执行max(l),再用返回的最大值去调用index()找位置。但如果l是空列表(比如l = []),max()函数根本找不到任何元素来计算最大值,它总不能从“空气”里挑出最大的那个吧?所以就会抛出这个ValueError来告诉你:“嘿,我处理不了空序列啊!”
举个简单的例子,你直接在终端里运行max([]),同样会弹出这个错误,这和你代码里的情况完全一样——因为你的l此时就是个空列表。
怎么解决?
你可以先判断列表是否非空,再执行查找操作,比如:
if l: # 非空列表会被视为True n = l.index(max(l)) else: # 这里可以根据你的需求处理空列表的情况 print("列表是空的,没法找最大值位置哦") n = -1 # 或者设置一个默认值
内容的提问来源于stack exchange,提问作者yashwanth varma
相关产品推荐
相关产品推荐

