any()與all()函數的區別:
any是任意,而all是全部。
版本:該函數適用於2.5以上版本,兼容python3.x版本。
any(...)
any(iterable) -> bool
Return True if bool(x) is True for any x in the iterable.
If the iterable is empty, return False.
any(iterable)說明:參數iterable:可迭代對象;
如果當iterable所有的值都是0、''或False時,那么結果為False,如果所有元素中有一個值非0、''或False,那么結果就為True
函數等價於:
1 def any(iterable): 2 3 for element in iterable: 4 5 if element: 6 7 return False 8 9 return True
示例:
1 >>> 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
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的所有元素不為0、''、False或者iterable為空,all(iterable)返回True,否則返回False;函數等價於:
1 def all(iterable): 2 3 for element in iterable: 4 if not element: 5 return False 6 return True
示例:
1 >>> all(['a', 'b', 'c', 'd']) #列表list,元素都不為空或0 2 True 3 >>> all(['a', 'b', '', 'd']) #列表list,存在一個為空的元素 4 False 5 >>> all([0, 1,2, 3]) #列表list,存在一個為0的元素 6 False 7 8 >>> all(('a', 'b', 'c', 'd')) #元組tuple,元素都不為空或0 9 True 10 >>> all(('a', 'b', '', 'd')) #元組tuple,存在一個為空的元素 11 False 12 >>> all((0, 1,2, 3)) #元組tuple,存在一個為0的元素 13 False 14 15 >>> all([]) # 空列表 16 True 17 >>> all(()) # 空元組 18 True
注意:空元組、空列表返回值為True,這里要特別注意。