【问题标题】:Python - detecting values in a list [duplicate]Python - 检测列表中的值[重复]
【发布时间】:2014-04-14 12:18:47
【问题描述】:

如何检测列表中的值是否为负,我只需要找出是否存在负值,到目前为止我有这个:

if list[range(list)] < 0

但这肯定只会检测到列表中的所有值是否都是负数。我该怎么做呢?

另外,我如何能够检测列表中的值是否不是整数,例如它是浮点数,甚至是字符

谢谢

【问题讨论】:

    标签: python list


    【解决方案1】:

    你可以像这样使用any函数

    if any(item < 0 for item in my_list):
    

    例如,

    print any(item < 0 for item in [0, 1, 2])
    # False
    print any(item < 0 for item in [0, 1, -2])
    # True
    

    我们在any 函数中使用生成器表达式。如果 item 中的任何一个小于 0,则返回 True

    【讨论】:

    • 出于好奇,any 在遇到第一个 True 元素时会停止吗?如果不是,如果列表很长,我想知道是否值得手动循环并打破第一个 True,因为此时不需要检查剩余的元素。只是大声思考。
    • @Cyber​​ 没错。得到True后立即返回。
    猜你喜欢
    • 2017-09-03
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 2018-02-12
    • 2023-03-30
    • 2021-09-27
    • 2019-04-22
    • 1970-01-01
    相关资源
    最近更新 更多