python函数any()与all()

any(iterable)

all(iterable)

any()与all()函数的区别,any是任意,而all是全部。 

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

 

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(iterable)

如果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,这里要特别注意

posted @ 2015-12-09 17:15  小五台车神  阅读(1566)  评论(0编辑  收藏  举报