我们可能在程序开发中会面对这样一个问题?
怎样判断一个可迭代对象中元素是否全部为真,我们的做法可能就是for..in遍历然后通过bool()函数进行判断,其实这种做法可行,但是对代码而言有些冗余,因此,给大家介绍一种极其简单的方法
内置函数all()
先看一下源码
def all(*args, **kwargs): # real signature unknown
"""
Return True if bool(x) is True for all values x in the iterable.
If the iterable is empty, return True.
"""
pass
接下来我们享受一下这种方法的便捷
my_list=['jim','rose','','sam']
print(all(my_list)) #返回结果:False
print(all([]))#返回结果:True
python还内置了一个函数any(),用来判断其可迭代对象中是否有bool()为真的元素
源码
def any(*args, **kwargs): # real signature unknown
"""
Return True if bool(x) is True for any x in the iterable.
If the iterable is empty, return False.
"""
pass
实例测验
my_list=['jim','rose','','sam']
print(any(my_list)) #返回结果:True
print(any([]))#返回结果:False
总结:
all()有假则假,any()有真则真,但不要认为all(iterable)为True,则any就一定为True,一定要知道如果iterable为空,all也会返回True
附一张图,谁看谁幸运:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。