码迷,mamicode.com
首页 > 其他好文 > 详细

在条件判断中使用 all() / any()

时间:2019-12-06 13:33:02      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:生成器   简单的   print   int   接受   highlight   lse   source   否则   

在条件判断中使用 all() / any()

all() 和 any() 两个函数非常适合在条件判断中使用。这两个函数接受一个可迭代对象,返回一个布尔值,其中:

  • all(seq):仅当 seq 中所有对象都为布尔真时返回 True,否则返回 False
  • any(seq):只要 seq 中任何一个对象为布尔真就返回 True,否则返回 False

假如我们有下面这段代码:

def all_numbers_gt_10(numbers):
    """仅当序列中所有数字大于 10 时,返回 True
    """
    if not numbers:
        return False

    for n in numbers:
        if n <= 10:
            return False
    return True

如果使用 all() 内建函数,再配合一个简单的生成器表达式,上面的代码可以写成这样:

def all_numbers_gt_10_2(numbers):
    return bool(numbers) and all(n > 10 for n in numbers)



def all_numbers_gt_10_2(numbers):
    return bool(numbers) and all(n > 10 for n in numbers)
x = [-10]

print(all_numbers_gt_10_2(x))

False

 



在条件判断中使用 all() / any()

标签:生成器   简单的   print   int   接受   highlight   lse   source   否则   

原文地址:https://www.cnblogs.com/botoo/p/11994489.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!