這個問題在這里已經有了答案: 如何找到串列交集? (16 個回答) 昨天關閉。
我正在嘗試撰寫一個函式來獲取 2 個串列,找到它們之間的交點,并回傳一個包含這些交點的新串列,并且新串列不會多次包含相同的元素。
例如:
交集([1,2,3,4], [8,3,9])
[3]
我嘗試了以下方法:
列印(串列(過濾器(lambda x:串列2中的x,串列1)))
事情是,如果這樣做,例如:
交叉點([1,2,3,3,4], [8,3,9])
結果將是 [3,3]。
我如何使它在同一行代碼中只有一個 3?
謝謝!
uj5u.com熱心網友回復:
嘗試: list(set(intersection([1,2,3,3,4], [8,3,9])))
uj5u.com熱心網友回復:
使用set.intesection:
def intersection(l1, l2):
return list(set(l1).intersection(l2))
intersection([1,2,3,4], [8,3,9])
# [3]
uj5u.com熱心網友回復:
簡單的方法是通過 set :
L = [1,2,3]
M = [4,2,2,3,3]
inter = list( set(L).intersection(M) )
uj5u.com熱心網友回復:
如何獲得一個 [3]
x = list(set(filter(lambda x: x in [1,2,3,3,4], [8,3,3,9])))
print(x)
輸出:
[3]
uj5u.com熱心網友回復:
為什么不使用 set 并將結果轉換回串列,如下所示:
l = [1, 2, 3, 3, 4]
l2 = [8, 3, 9]
list(set(l).intersection(set(l2)))
輸出:
[3]
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/322314.html
