[Python]Build-in方法all和any

来源:互联网 发布:高淇java300集 知乎 编辑:程序博客网 时间:2024/06/04 09:01

Python内置方法不是很多,但是都非常经典和实用。

这里就来看看any 和all方法怎么使用。

any()

doc: Return True if any element of the iterable is true. If the iterable is empty, return False.

只要迭代器中有一个元素为真就为真。

In [4]: a = [True, False]In [5]: any(a)Out[5]: True

也就是说,整个迭代中返回所有的真假判断中有一个真就是真,就好像说一箱子鸡蛋中只要有一个坏了,我们就认定这厢鸡蛋坏了。

In [6]: b = ['good','bad','good','good']In [7]: any(i=='bad' for i in b)Out[7]: True
把坏的鸡蛋扔了

In [9]: b.pop(1)Out[9]: 'bad'In [10]: any(i=='bad' for i in b)Out[10]: False

结果就想法了,如果对于单个元素的判断,有点像 'bad'


all()

doc:Return True if all elements of the iterable are true (or if the iterable is empty)

也就是说,迭代器中所有的判断项返回都是真,结果才为真

In [13]: aOut[13]: [True, False]In [14]: all(a)Out[14]: False
如果一箱子鸡蛋全都好,才算好。

In [15]: bOut[15]: ['good', 'good', 'good', 'bad']In [16]: all('good'== i for i in b)Out[16]: False
有一个坏的,返回false

In [17]: b.pop()Out[17]: 'bad'In [18]: all('good'== i for i in b)Out[18]: True

剔除不好的,全都为good,结果为True


当然这两个方法都可以使用for 和in 循环实现,有时这样用更pythonic点
文档地址





0 0
原创粉丝点击