python中all()和any()函数总结
all(iterable):iterable---元组或列表
这个函数可能会有点坑,解释如下:
-
判断给定的可迭代参数iterable中的所有元素是否都为True,如果是返回True,否则返回False。 注意:元素是0、空(空元素、不是空数组或空列表,空数组也是True)、None、False外都算True。
返回值:
如果iterable的所有元素不为0,"",False或者iterable为空,函数all(iterable)返回True,否则返回False。
注意:空元组、空列表返回值为True。
实例:
>>> all([a, b, c, d]) # 列表list,元素都不为空或0 True >>> all([a, b, , d]) # 列表list,存在一个为空的元素 False >>> all([0, 1,2, 3]) # 列表list,存在一个为0的元素 False >>> all((a, b, c, d)) # 元组tuple,元素都不为空或0 True >>> all((a, b, , d)) # 元组tuple,存在一个为空的元素 False >>> all((0, 1, 2, 3)) # 元组tuple,存在一个为0的元素 False >>> all([]) # 空列表 True >>> all(()) # 空元组 True
any(iteable)
返回值:
如果iterable所有的值都是0、""、或False时,结果为False,如果所有元素中有一个值为非0、非""或者True,那么结果就是True
相当于:
def any(iterable):
for element in iterable:
if element:
return True
示例:
>>> any([a, b, c, d]) #列表list,元素都不为空或0 2 True 3 4 >>> any([a, b, , d]) #列表list,存在一个为空的元素 5 True 6 7 >>> any([0, , False]) #列表list,元素全为0,,false 8 False 9 10 >>> any((a, b, c, d)) #元组tuple,元素都不为空或0 11 True 12 13 >>> any((a, b, , d)) #元组tuple,存在一个为空的元素 14 True 15 16 >>> any((0, , False)) #元组tuple,元素全为0,,false 17 False 18 19 >>> any([]) # 空列表 20 False 21 22 >>> any(()) # 空元组 23 False
