回覆列表
-
1 # 使用者9561730536542
-
2 # 藍風24
def inter(a,b):
return list(set(a)&set(b))
lst1=[0,1,2,3,4,5,6,7,8,9]
lst2=[-3,-2,-1,0,1]
lst3=inter(lst1,lst2)
if lst3:
print(lst3)
else:
print("Empty")
方法1遍歷b1,如果某個元素同時也存在於b2中,則返回複製程式碼程式碼如下:b1=[1,2,3]b2=[2,3,4]b3 = [val for val in b1 if val in b2]print b3執行結果如下複製程式碼程式碼如下:[2, 3]方法2把列表轉換為集合,利用集合運算子求出交集,然後再轉換回列表型別複製程式碼程式碼如下:b1=[1,2,3]b2=[2,3,4]b3=list(set(b1) & set(b2))print b3執行結果如下複製程式碼程式碼如下:[2, 3]方法3前面的例子中兩個list都是簡單的單元素列表,還有一種比較特殊的情況,就是有巢狀型別的複製程式碼程式碼如下:b1=[1,2,3]b2=[[2,4],[3,5]]b3 = [filter(lambda x: x in b1,sublist) for sublist in b2]print b3執行結果如下複製程式碼程式碼如下:[2, 3]