Python之all()和any()

我们可能在程序开发中会面对这样一个问题?
怎样判断一个可迭代对象中元素是否全部为真,我们的做法可能就是for..in遍历然后通过bool()函数进行判断,其实这种做法可行,但是对代码而言有些冗余,因此,给大家介绍一种极其简单的方法
内置函数all()
先看一下源码

def all(*args, **kwargs): # real signature unknown
    """
    Return True if bool(x) is True for all values x in the iterable.
    
    If the iterable is empty, return True.
    """
    pass

接下来我们享受一下这种方法的便捷

my_list=['jim','rose','','sam']
print(all(my_list)) #返回结果:False
print(all([]))#返回结果:True

python还内置了一个函数any(),用来判断其可迭代对象中是否有bool()为真的元素
源码

def any(*args, **kwargs): # real signature unknown
    """
    Return True if bool(x) is True for any x in the iterable.
    
    If the iterable is empty, return False.
    """
    pass

实例测验

    my_list=['jim','rose','','sam']
    print(any(my_list)) #返回结果:True
    print(any([]))#返回结果:False

总结:
all()有假则假,any()有真则真,但不要认为all(iterable)为True,则any就一定为True,一定要知道如果iterable为空,all也会返回True

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值