【问题标题】:any() function not producing expected result [closed]任何()函数没有产生预期的结果[关闭]
【发布时间】:2020-10-18 20:33:23
【问题描述】:

我在 python 中测试我的代码时遇到了一个问题。我的代码中有一个浮点数列表,其中一项大于 1。因此,aaa[1]>1 结果为True。当我尝试any(aaa)>1 时,我得到False。能否请您详细说明一下这个问题?

Screenshot of code

【问题讨论】:

  • any(aaa)>1 不会像您认为的那样做。 any 函数在这里工作得很好。您没有检查是否有任何 aaa 大于一。您正在检查任何 aaa 是否为真,然后检查该真/假值是否大于 1。毫不奇怪,真不大于 1
  • 请提供预期的MRE。显示中间结果与预期结果的偏差。我们应该能够将您的代码块粘贴到文件中,运行它并重现您的问题。为符合本网站的宗旨,不接受站外链接和文本图像。

标签: python any


【解决方案1】:

正确的语法是:

any(item > 1.0 for item in aaa)

文档链接:

【讨论】:

    【解决方案2】:

    any 函数的工作方式如下:它接受一个布尔值列表,如果其中任何一个为 True,则返回 True,否则如果所有值为 False,则返回 False。所以考虑到这一点,你想要的是这样的:

    any([x > 1 for x in aaa])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-20
      • 1970-01-01
      • 2019-12-13
      • 2015-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多