any和all的区别

发布时间 2023-12-12 17:59:43作者: PiggThird
any()与all()函数的区别:
  any是任意,而all是全部。 

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

any

any(iterable)说明:参数iterable:可迭代对象;
    如果当iterable所有的值都是0、''或False时,那么结果为False,如果所有元素中有一个值非0、''或False,那么结果就为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

any(iterable)说明:参数iterable:可迭代对象;
    如果iterable的所有元素不为0、''、False或者iterable为空,all(iterable)返回True,否则返回False;

>>> 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