python 多個list取交集

2021-08-24 18:24:41 字數 1122 閱讀 7785

python處理演算法是真的簡單,來個小例子:

現在有五個list 分別為a,b,c,d,e,取他們的交集,起初我這麼寫:

a=[4]

b=[4,2]

c=[3,4]

d=[1,4]

e=[5,4]

item_list = [a,b,c,d,e]

deftest(item_list):

print item_list

if len(item_list) == 1

:return item_list[0]

elif len(item_list) == 0

:return

flag = 0

for item in

item_list:

if len(item) > 0

: pass

else:

flag = 1

if flag == 1

:return

else:

item_list.remove(item_list[0])

item_list.remove(item_list[0])

item_list = test(item_list)

return item_list

item_list = test(item_list)

print item_list

**看著很不舒服,而且效率也低,於是改進如下:

fm = lambda x,y: list(set(x).intersection(set(y))) if isinstance(x, list) and isinstance(y, list) else

'error'

fn = lambda x: x[0] if len(x) == 1

else if len(x) == 0

else reduce(fm,tuple(y for y in x))

item_list= fn(item_list)

print item_list

陣列取交集

題目 給定兩個陣列,編寫乙個函式來計算它們的交集。示例 1 輸入 nums1 1,2,2,1 nums2 2,2 輸出 2 示例 2 輸入 nums1 4,9,5 nums2 9,4,9,8,4 輸出 9,4 說明 方法一 set 主要利用set去重。class solution for int i...

C 對List取交集 差集以及並集

list以string型別為例,實際應用中可換做其他型別 1 取交集 取交集 static void intersection listlist2 new list listlist3 new list list3 list1.intersect list2 tolist console.write...

乙個JS多個陣列取交集演算法

如題,多個陣列中取交集 共同擁有元素 思路取第乙個陣列去跟每個陣列中的元素對比,同時比較資料型別有救返回沒有就返回null。下面介紹到的演算法資料格式是二維陣列如 const parentarray 11,12,343,34,432,34,4 54,3,4,5,2,52 34,2,3,23,423,...