python基础-python函数any()与all()的区别
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,这里要特别注意。