Python之all()\any()
2016-01-19 本文已影响7962人
翎月
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"