理解Python的any和all函數
Python的any和all函數是分析可迭代元素真實性的必備工具。
任意如果可迭代中的任何元素為 True(不是 False、None、0、''),則函數
any(iterable) 傳回 True。如果所有元素都為 False,則傳回 False。它的行為類似於邏輯 OR 運算。
all Function
all(iterable) 如果可迭代中的所有元素都為 True,則傳回 True。如果有一個元素為 False,則傳回 False。它類似於邏輯 AND 運算。
元組的應用
在您的特定情況下,您有一個元組列表:
d['Drd2'] = [[1, 5, 0], [1, 6, 0]]
您壓縮這些元組以建立對應的元組清單元素:
list(zip(*d['Drd2'])) = [(1, 1), (5, 6), (0, 0)]
對於每個元組,您使用表達式:
any(x) and not all(x)
這將檢查元組中是否至少有一個值不同(使用任何值),而並非所有值都不同值是相同的(並非全部使用)。但是,在您的範例中,每個元組中的所有對應值都是相同的,因此所有元組的表達式計算結果為 False,從而導致 [False, False, False]。
修正預期輸出
要檢查每個元組中的兩個數字是否不相同,您需要使用表達式:
x[0] != x[1]
直接比較元組中的兩個數字,如果不同則回傳True。將此表達式與列表理解結合使用將為您提供 [False, True, False] 的預期輸出,其中 (1, 1) 相同,(5, 6) 不同,(0, 0) 相同。
以上是Python 的「any」和「all」函數如何幫助確定可迭代元素中的差異?的詳細內容。更多資訊請關注PHP中文網其他相關文章!