python 針對列表求交集的操作

2021-10-05 11:52:13 字數 751 閱讀 4126

已知:list1 = [1, 2, 3, 4, 5]

list2 = [1, 4, 5] 

要求兩個列表中不相同的元素

方法一:

list3 = list(set(list1) – set(list2))

set操作會將乙個list轉換成乙個集合。

假設:list_t = [1, 2, 3, 1]

那麼:list(set(list_t)) = [1, 2, 3]

重複的項就會被刪除。

由於列表沒有減法,所以可以使用set 集合中轉一下,這樣就可以實現功能啦。

方法二:

使用列表推導式對列表進行遍歷,並用in 方法進行判斷

list_diff = [data for data in list1 if data not in list2]

[1, 2, 3]  在列表1但不在列表2中的元素

list_diff = [data for data in list2 if data not in list1]

[6, 7, 8]  在列表2但不在列表1中的元素

如果要求兩個列表的交集的話,可以這樣寫:

list_same = [data for data in list1 if data in list2]

當然也可以用set 直接去交集:

list_same =list(set(list1)&set(list2))

這樣是不是看起來又直觀又簡單呢,今天就到這裡啦~

python求列表交集的方法彙總

python求列表交集的方法彙總 方法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把列表轉換為集合,利用集合操作符求出交集,然後再...

python列表操作符 python 列表操作符

1.比較操作符 list1 123 list2 456 list1 list2 false 列表中有單個元素時,直接比較相對應的元素大小即可,如果列表中有多個元素呢?如下 list1 123,456 list2 456,123 list1 list2 false 列表中有多個元素時,首先從列表中的第...

列表取交集 986 區間列表的交集

給定兩個由一些閉區間組成的列表,每個區間列表都是成對不相交的,並且已經排序。返回這兩個區間列表的交集。形式上,閉區間 a,b 其中 a b 表示實數 x 的集合,而 a x b。兩個閉區間的交集是一組實數,要麼為空集,要麼為閉區間。例如,1,3 和 2,4 的交集為 2,3 示例 輸入 a 0,2 ...