理解Python的any()和all()函數
Python中的內建函數,any()和all(),play在評估可迭代中值的真實性方面發揮著至關重要的作用。這些函數提供了測試多個條件的簡潔有效的方法。
any() 函數
any() 決定可迭代中的任何元素是否為 True。即使存在True 值,它也會傳回True;
範例:
my_list = [0, False, 'Hello', 1, ''] print(any(my_list)) # Outputs True as 'Hello' and 1 are True
all() 函數
all(), 在另一方面,檢查iterable 中的每個元素是否為True。僅當所有元素均為True 時才傳回True;
範例:my_list = [True, 1, 'True'] print(all(my_list)) # Outputs True as all elements are True
真實性與邏輯評估
真實性與邏輯評估
Iterable Values | any() | all() |
---|---|---|
All True | True | True |
All False | False | False |
Mixed True and False | True | False |
Empty Iterable | False | True |
真實性與邏輯評估
any() 和all () 本質上分別執行邏輯「或」和「與」運算。了解他們的真實行為至關重要。d = defaultdict(list) print(list(zip(*d['Drd2']))) # [(1, 1), (5, 6), (0, 0)] print([any(x) and not all(x) for x in zip(*d['Drd2'])]) # [False, False, False]真值表:
print([x[0] != x[1] for x in zip(*d['Drd2'])]) # [False, True, False]理解您的程式碼在您的程式碼中,您使用any () 和all() 的組合來檢查元組中的任何值是否不同,同時確保並非所有值都不同是不同的。然而,由於程式碼評估中的誤解,沒有獲得您期望的輸出:在這種情況下,any(x) 檢查元組中是否有任何值不同(即True),而all(x) 確保並非所有值都不同(即False)。由於 (1, 1)、(5, 6) 和 (0, 0) 都有不同的值,因此它正確地將所有三個元組評估為 [False, False, False]。 以實現您想要的輸出,你可以修改程式碼如下:這直接檢查每個元組中的第一個和第二個元素是否不同,從而得到預期的輸出[False, True,假]。
以上是Python 的 `any()` 和 `all()` 函數如何有效評估可迭代物件的真實性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!