2018-10-28
閱讀量:
1487
Python函數(shù)any()和all()的用法及區(qū)別?
any函數(shù):any(x),只要x中有一個不為空,0,false就返回True,否則返回False。
all(x)函數(shù)必須x中的所有元素均不為空,0,false才會返回True,否則返回False。
用python判斷一個string是否包含一個list里的元素。
這時候使用python的內(nèi)置函數(shù)any()會非常的簡潔:
fruits =
['apple', 'orange', 'peach']
str
=
"I want some apples"
if
any(element in
str
for
element in
fruits):
"string contains some fruits."
any()
其實any函數(shù)非常簡單:判斷一個tuple或者list是否全為空,0,F(xiàn)alse。如果全為空,0,F(xiàn)alse,則返回False;如果不全為空,則返回True。
all()
all函數(shù)正好和any相反:判斷一個tuple或者list是否全為不為空,0,F(xiàn)alse。如果全不為空,則返回True;否則返回False。
這里需要注意的是,空tuple和空list的返回值是True
python中內(nèi)建函數(shù)all()和any()的區(qū)別
all(x) 是針對x對象的元素而言,如果all(x)參數(shù)x對象的所有元素不為0、”、False或者x為空對象,則返回True,否則返回False
如:
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
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






評論(0)


暫無數(shù)據(jù)
推薦帖子
0條評論
0條評論
0條評論