相交清單:捕捉重疊元素
在這個程式設計謎語中,我們尋求一種解來決定兩個清單的交集,辨識公共元素他們之間的元素。給定兩個清單“a”和“b”,任務是找到僅包含兩個清單共用元素的清單。
問題陳述:列表上的布林AND 運算
考慮以下程式碼片段:
a = [1,2,3,4,5] b = [1,3,5,6] c = a and b print c
執行此程式碼時,人們可能會預期輸出為'[1,3,5]' 作為列表'a' 和'b' 的交集。然而,實際輸出是“[1,3,5,6]”,其中包含交集中不存在的元素。
解:利用集合交集
為了在兩個列表上完成布林AND 運算(列表交集),避免重複並保持順序,我們可以利用集合交集。集合是唯一元素的無序集合。透過將列表轉換為集合,獲取它們的交集,然後將結果集轉換回列表,我們可以獲得所需的結果:
>>> a = [1,2,3,4,5] >>> b = [1,3,5,6] >>> list(set(a) & set(b)) [1, 3, 5]
此解決方案有效地識別並僅返回屬於兩者的元素列表,提供它們交集的簡明表示。
以上是Python 中如何有效率地找出兩個清單的交集?的詳細內容。更多資訊請關注PHP中文網其他相關文章!