找出清單交集:布林AND 運算與集合交集
在Python 中,一個常見的任務是找出兩個清單的交集,其中結果是一個新列表,其中包含兩個輸入列表共有的元素。這可以使用多種方法來實現。
一種常見的方法是使用邏輯「AND」運算,它將第一個列表的每個元素與第二個列表的每個元素進行比較,並傳回一個新列表,其中僅包含匹配的元素。然而,Python 中的「AND」運算子不能直接作用於清單。它需要將輸入清單轉換為邏輯值,這在這種情況下是有問題的。
另一種方法是使用集合交集運算子 (&)。集合是唯一元素的無序集合,因此此操作傳回僅包含兩個輸入清單中都存在的元素的集合物件。若要從結果集中取得列表,可以使用 list() 函數將其轉換為列表。
例如:
a = [1,2,3,4,5] b = [1,3,5,6] list(set(a) & set(b))
此程式碼將產生以下輸出:
[1, 3, 5]
集合交集提供了一種執行清單交集的便捷方法,特別是當元素元素的順序不重要且重複項被忽略時。它可以有效地比較公共元素的集合,並避免列表上邏輯比較的潛在問題。
以上是如何在Python中有效率地找到兩個清單的交集?的詳細內容。更多資訊請關注PHP中文網其他相關文章!