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
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。