python - 函数any() 和 all() 的区别

转自:https://www.cnblogs.com/nulige/p/6128816.html

 

any()与all()函数的区别:

  any是任意,而all是全部。 

 

版本:该函数适用于2.5以上版本,兼容python3.x版本。

any(...)

    any(iterable) -> bool

    

    Return True if bool(x) is True for any x in the iterable.

    If the iterable is empty, return False.

 

any(iterable)说明:参数iterable:可迭代对象;

如果当iterable所有的值都是0、''或False时,那么结果为False,如果所有元素中有一个值非0、''或False,那么结果就为True

函数等价于:

def any(iterable):
    for element in iterable:
        if  element:
            return False
return True
>>> any(['a', 'b', 'c', 'd'])  #列表list,元素都不为空或0
True
>>> any(['a', 'b', '', 'd'])  #列表list,存在一个为空的元素
True
>>> any([0, '', False])  #列表list,元素全为0,'',false
False

>>> any(('a', 'b', 'c', 'd'))  #元组tuple,元素都不为空或0
True
>>> any(('a', 'b', '', 'd'))  #元组tuple,存在一个为空的元素
True
>>> any((0, '', False))  #元组tuple,元素全为0,'',false
False
  
>>> any([]) # 空列表
False
>>> any(()) # 空元组
False

 

 

all(...)

    all(iterable) -> bool

    

    Return True if bool(x) is True for all values x in the iterable.

    If the iterable is empty, return True.

 

如果iterable的所有元素不为0、''、False或者iterable为空,all(iterable)返回True,否则返回False;函数等价于:

def all(iterable):
    for element in iterable:
        if not element:
            return False
    return True
>>> all(['a', 'b', 'c', 'd'])  #列表list,元素都不为空或0
True
>>> all(['a', 'b', '', 'd'])  #列表list,存在一个为空的元素
False
>>> all([0, 1,2, 3])  #列表list,存在一个为0的元素
False
  
>>> all(('a', 'b', 'c', 'd'))  #元组tuple,元素都不为空或0
True
>>> all(('a', 'b', '', 'd'))  #元组tuple,存在一个为空的元素
False
>>> all((0, 1,2, 3))  #元组tuple,存在一个为0的元素
False
 
>>> all([]) # 空列表
True
>>> all(()) # 空元组
True

注意:空元组、空列表返回值为True,这里要特别注意。

转载于:https://www.cnblogs.com/blitheG/p/8125401.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值