驗證一個或多個元素是否駐留在清單中是一項常見任務。您可以使用以下簡潔的方法,而不是設計複雜的函數。
Python 或運算子依序計算其參數,傳回第一個真值或非空值。雖然這看起來像是一個解決方案,但對於清單來說它是不夠的。如上所述,a 中的 (1 或 2) 計算結果為 False,而 a 中的 (2 或 1) 計算結果為 True。發生這種情況是因為 1 在布林上下文中計算結果為 False,導致表達式等效於 a.
中的 False。更有效且可讀的方法是採用清單理解或集合交集。使用清單理解,您可以根據第一個清單中的元素在第二個清單中的存在來過濾它們。例如:
L1 = [2, 3, 4] L2 = [1, 2] [i for i in L1 if i in L2] # Returns [2]
或者,您可以將列表轉換為集合,執行集合交集,並利用結果集合的布林值。這種方法在有效處理重複元素時是有利的:
S1 = set(L1) S2 = set(L2) S1.intersection(S2) # Returns set([2])
空列表和空集合的計算結果均為 False,允許您直接使用布林邏輯評估它們的存在。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3