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,...