引子
平常的文本處理工作中,我經常會遇到這么一種情況:用python判斷一個string是否包含一個list里的元素。
這時候使用python的內置函數any()會非常的簡潔:
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
如:
In [25]: all(['a', 'b', 'c', 'd']) #列表list,元素都不為空或0Out[25]: TrueIn [26]: all(['a', 'b', '', 'd']) #列表list,存在一個為空的元素Out[26]: FalseIn [27]: all([0, 1,2, 3]) #列表list,存在一個為0的元素Out[27]: FalseIn [28]: all(('a', 'b', 'c', 'd')) #元組tuple,元素都不為空或0Out[28]: TrueIn [29]: all(('a', 'b', '', 'd')) #元組tuple,存在一個為空的元素Out[29]: FalseIn [30]: all((0, 1,2, 3)) #元組tuple,存在一個為0的元素Out[30]: FalseIn [31]: all([]) # 空列表Out[31]: TrueIn [32]: all(()) # 空元組Out[32]: True
any(x)是判斷x對象是否為空對象,如果都為空、0、false,則返回false,如果不都為空、0、false,則返回true
In [33]: any(['a', 'b', 'c', 'd']) #列表list,元素都不為空或0Out[33]: TrueIn [34]: any(['a', 'b', '', 'd']) #列表list,存在一個為空的元素Out[34]: TrueIn [35]: any((0,1)) #元組tuple,存在一個為空的元素Out[35]: TrueIn [36]: any((0,'')) #元組tuple,元素都為空Out[36]: FalseIn [37]: any(()) # 空元組Out[37]: FalseIn [38]: any([]) # 空列表Out[38]: False
總結
以上所述是小編給大家介紹的Python函數any()和all()的用法及區別介紹 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林站長站網站的支持!
新聞熱點
疑難解答