Python之all()\any()

Python有很多很有用的内建函数,今天就讲all()any()这两个函数:这两个函数的参数都是iterable,也就是为list或者tuple

all(iterable):

>>> help(all)
Help on built-in function all in module __builtin__:

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元素都不为False、”、0或者iterable为空,则all(iterable)为True,也就是说只要iterable元素有一个为”假”,则为False,“全‘真’为True,有‘假’为False”
  • 特别要注意官网注释,当iterable为空的时候,函数返回值为True
  • 等价于函数:
    def all(iterable):
    for item in iterable:
    if not item:
    return False
    return True
all()举例:
>>> all(['a',(2,4),1,True]) //list都为"真"
True
>>> all(['a',(),1,True])   //list元素中有空tuple
False
>>> all(['a',(2,4),0,True])
False
>>> all(['a',(2,4),3,False])
False
  
 >>>all([])
 True 
 >>> all(())
 True
 >>> all({})
 True
 >>> all('')
 True

any(iterable):

>>> help(any)
Help on built-in function any in module __builtin__:

any(...)
    any(iterable) -> bool

    Return True if bool(x) is True for any x in the iterable.
    If the iterable is empty, return False.
  • iterable的任何元素都为False、0,”,或者iterable全为空,则any(iterable)为False,也就是说所有的iterable都为’假’,则any(iterable)为False,“全‘假’为False,有‘真’为True”
  • 特别要注意:*官网注释,当iterable为空的时候,函数返回值为False
  • any(iterable)等价于:
    def any(iterable):
    for item in iterable:
    if item:
    return True
    return False
any()举例
>>> any(['a',(2,4),3,True]) 
True
>>> any(['a',(2,4),3,False])
True
>>> any(['a',(),3,False])   
True
>>> any(['',(),0,False]) 
False
>>> any(('a',(),3,False))
True
>>> any(('',(),0,False)) 
False

>>> any(())
False
>>> any([])
False
>>> any('')
False
>>> any({})
False

上面讲解了迭代器的两个内建函数any()\all(),Python的内建函数还是很有意思,也很方便的,关于any()\all()只要记住两点:
all():”有‘假’为False,全‘真’为True,iterable为空是True”
any():”有‘真’为True,全‘假’为False,iterable为空是False”

    原文作者:翎月
    原文地址: https://www.jianshu.com/p/65b6b4a62071
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞