理解Python的any和all函數
Python的any和all是內建函數,它們評估可迭代物件並根據他們的真實性elements.
any
any如果迭代中至少有一個元素為 True(或數值非零),則傳回 True。它評估可迭代對象,直到遇到 True 值或所有元素都已耗盡。
all
all 僅當可迭代物件中的所有元素均為 True 時才傳回 True。如果 iterable 為空,則 all 傳回 True。它會繼續評估可迭代對象,直到遇到 False 值或檢查了所有元素。
真實性
理解真實性對於理解任何和所有元素的工作方式至關重要。在 Python 中,如果值不為零、空字串或 None(空),則將其視為 True。 Falsey 值包括 0、空容器和 False 本身。
您的程式碼
在您的程式碼中,您正在使用清單理解:
[any(x) and not all(x) for x in zip(*d['Drd2'])]
為了理解這個表達式,我們來理解這個表達式,我們來理解這個表達式打破它down:
為什麼False 是回傳
您的程式碼回傳[False, False, False],因為它檢查是否至少有一個值為True,同時對於元組清單中的每個元組,並非所有值都為True。由於 d['Drd2'] 中的元組具有相同的元素,因此每個元組的 all(x) 都為 True,而不是 all(x) 為 False。因此,對於每個元組,整體表達式變為 any(x) 且並非 all(x) 計算結果為 False。
以上是Python 的「any」和「all」函數如何在列表理解中運作,為什麼會回傳「[False, False, False]」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!