使用迭代器和集合檢查清單項目是否存在
驗證清單中是否存在一組元素中的任何項目時,一個自然的方法是迭代每個元素並檢查其存在。然而,Python 提供了比為此任務編寫顯式函數更有效的方法。
典型的方法涉及「或」等邏輯運算符,但如範例所示,由於 Python 的真實性,這可能會導致意外結果評估機制。
首選方法是利用推導式。例如,以下程式碼透過迭代L1 中的項目並僅過濾掉L2 中存在的項目來建立一個新列表:
L1 = [2,3,4] L2 = [1,2] [i for i in L1 if i in L2]
這將傳回一個包含公用元素的列表,如果沒有,則該列表可以為空找到匹配項。如果傳回非空列表,則該群組中至少存在一個項目。
另一種方法是利用集合。集合是 Python 中的無序集合,它們提供了檢查元素是否存在的有效方法。首先,使用set() 函數將L1 和L2 轉換為集合:
S1 = set(L1) S2 = set(L2)
然後,使用junction() 方法找到它們的交集:
S1.intersection(S2)
結果將是包含公共元素的集合。空集的計算結果為 False,因此您可以直接使用結果作為真值來確定該組中是否存在任何項目。
以上是如何在 Python 中高效率檢查列表項目是否存在?的詳細內容。更多資訊請關注PHP中文網其他相關文章!