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

时间:2019-11-19 21:50:41

标签: python max valueerror is-empty

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

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

老实说,我不知道为什么会发生

2 个答案:

答案 0 :(得分:1)

如错误消息所述,这是因为传递给max的序列的长度为零。在您的情况下,i_averaged[i]在某些情况下可能等于i_averaged[i + 1],这给出了一个长度为零的切片。为了防止它引发异常,您可以为max函数提供默认值:

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

现在,当列表为空时,它将返回None。当然,这可能不会使您受益,因为零长度列表的最大值在您的应用程序中可能没有意义。现在,您有责任确保该值有意义。

答案 1 :(得分:0)

请在导入库后添加load()