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,這里要特別注意。

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM