ValueError:max()arg是一个空序列。不知道为什么会发生

问题描述 投票:0回答:1

编译时会出现此错误。 ValueError:max()arg为空序列。

ag_averaged = [max(a_g[i_averaged[i]:i_averaged[i+1]]) for i in range(len(i_averaged)-1)]

老实说,我不知道为什么会这样

python max valueerror is-empty
1个回答
0
投票
如错误消息所述,这是因为传递给max的序列的长度为零。在您的情况下,i_averaged[i]在某些情况下可能等于i_averaged[i + 1],这会导致长度为零的片段。为了防止它引发异常,可以为max函数提供默认值:

max(a_g[i_averaged[i]:i_averaged[i+1]], default=None)

现在,当列表为空时,它返回None。当然,这可能不会使您受益,因为零长度列表的最大值在您的应用程序中可能没有意义。现在,您有责任确保该值有意义。
© www.soinside.com 2019 - 2024. All rights reserved.