引子
平常的文本处理工作中,我经常会遇到这么一种情况:用python判断一个string是否包含一个list里的元素。
这时候使用python的内置函数any()会非常的简洁:
1
2
3
4
|
fruits = [ 'apple' , 'orange' , 'peach' ]
str = "I want some apples"
if any (element in str for element in fruits):
print "string contains some fruits."
|
any()
其实any函数非常简单:判断一个tuple或者list是否全为空,0,False。如果全为空,0,False,则返回False;如果不全为空,则返回True。
all()
all函数正好和any相反:判断一个tuple或者list是否全为不为空,0,False。如果全不为空,则返回True;否则返回False。
这里需要注意的是,空tuple和空list的返回值是True
python中内建函数all()和any()的区别
all(x) 是针对x对象的元素而言,如果all(x)参数x对象的所有元素不为0、”、False或者x为空对象,则返回True,否则返回False
如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
In [ 25 ]: all ([ 'a' , 'b' , 'c' , 'd' ]) #列表list,元素都不为空或0
Out[ 25 ]: True
In [ 26 ]: all ([ 'a' , 'b' , ' ', ' d']) #列表list,存在一个为空的元素
Out[ 26 ]: False
In [ 27 ]: all ([ 0 , 1 , 2 , 3 ]) #列表list,存在一个为0的元素
Out[ 27 ]: False
In [ 28 ]: all (( 'a' , 'b' , 'c' , 'd' )) #元组tuple,元素都不为空或0
Out[ 28 ]: True
In [ 29 ]: all (( 'a' , 'b' , ' ', ' d')) #元组tuple,存在一个为空的元素
Out[ 29 ]: False
In [ 30 ]: all (( 0 , 1 , 2 , 3 )) #元组tuple,存在一个为0的元素
Out[ 30 ]: False
In [ 31 ]: all ([]) # 空列表
Out[ 31 ]: True
In [ 32 ]: all (()) # 空元组
Out[ 32 ]: True
|
any(x)是判断x对象是否为空对象,如果都为空、0、false,则返回false,如果不都为空、0、false,则返回true
1
2
3
4
5
6
7
8
9
10
11
12
|
In [ 33 ]: any ([ 'a' , 'b' , 'c' , 'd' ]) #列表list,元素都不为空或0
Out[ 33 ]: True
In [ 34 ]: any ([ 'a' , 'b' , ' ', ' d']) #列表list,存在一个为空的元素
Out[ 34 ]: True
In [ 35 ]: any (( 0 , 1 )) #元组tuple,存在一个为空的元素
Out[ 35 ]: True
In [ 36 ]: any (( 0 ,'')) #元组tuple,元素都为空
Out[ 36 ]: False
In [ 37 ]: any (()) # 空元组
Out[ 37 ]: False
In [ 38 ]: any ([]) # 空列表
Out[ 38 ]: False
|
总结
以上所述是小编给大家介绍的Python函数any()和all()的用法及区别介绍 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:https://www.cnblogs.com/liuyihua1992/archive/2018/09/14/9644351.html