更新時(shí)間:2023-06-26 來(lái)源:黑馬程序員 瀏覽量:
在Python中,any()和all()是用于對(duì)可迭代對(duì)象進(jìn)行邏輯判斷的內(nèi)置函數(shù)。
any()函數(shù)接受一個(gè)可迭代對(duì)象作為參數(shù),并返回一個(gè)布爾值。它返回的結(jié)果為T(mén)rue,如果可迭代對(duì)象中至少有一個(gè)元素為真(非零、非空、非False),否則返回False。換句話說(shuō),只要有一個(gè)元素滿(mǎn)足條件,any()函數(shù)就會(huì)返回True。
下面是一個(gè)使用any()函數(shù)的示例:
numbers = [0, 2, 4, 6, 8] print(any(numbers)) # 輸出: True names = ['', 'Alice', 'Bob'] print(any(names)) # 輸出: True empty_list = [] print(any(empty_list)) # 輸出: False
在第一個(gè)示例中,列表numbers中的元素中至少有一個(gè)非零的元素,所以any(numbers)返回True。在第二個(gè)示例中,列表names中至少有一個(gè)非空字符串,所以any(names)也返回True。在第三個(gè)示例中,空列表empty_list沒(méi)有任何元素,所以any(empty_list)返回False。
all()函數(shù)也接受一個(gè)可迭代對(duì)象作為參數(shù),并返回一個(gè)布爾值。它返回的結(jié)果為T(mén)rue,如果可迭代對(duì)象中的所有元素都為真(非零、非空、非False),否則返回False。換句話說(shuō),只有當(dāng)所有元素都滿(mǎn)足條件時(shí),all()函數(shù)才會(huì)返回True。
接下來(lái)我們看一個(gè)使用all()函數(shù)的示例:
numbers = [1, 3, 5, 7, 9] print(all(numbers)) # 輸出: True names = ['Alice', 'Bob', 'Charlie'] print(all(names)) # 輸出: True mixed_list = [True, False, 1, 0] print(all(mixed_list)) # 輸出: False
在第一個(gè)示例中,列表numbers中的所有元素都是非零的正整數(shù),所以all(numbers)返回True。在第二個(gè)示例中,列表names中的所有元素都是非空字符串,所以all(names)也返回True。在第三個(gè)示例中,列表mixed_list包含了布爾值和整數(shù),但其中存在一個(gè)為假(0和False),所以all(mixed_list)返回False。
區(qū)別總結(jié):
·'any()'函數(shù)在可迭代對(duì)象中至少有一個(gè)元素滿(mǎn)足條件時(shí)返回True。
·'all()'函數(shù)在可迭代對(duì)象中的所有元素都滿(mǎn)足條件時(shí)返回True。