【问题标题】:ValueError: max() arg is an empty sequence. Don't know why happensValueError: max() arg 是一个空序列。不知道为什么会发生
【发布时间】:2019-11-19 21:50:41
【问题描述】:

当我编译它时,会出现这个错误。 ValueError: max() arg 是一个空序列。

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

老实说,我不知道为什么会发生这种情况

【问题讨论】:

  • 请用编程语言标记!
  • python 3.7,我在 Spyder 上使用它
  • 可以分享一下代码段吗?

标签: python max valueerror is-empty


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    请在导入库后添加 load()

    【讨论】:

      猜你喜欢
      • 2014-11-26
      • 2016-07-03
      • 1970-01-01
      • 2018-06-29
      • 2014-09-27
      • 2018-09-30
      • 2011-09-05
      • 2022-01-23
      • 1970-01-01
      相关资源
      最近更新 更多