Python 集合的交集,並集,差集

2022-09-19 22:36:14 字數 1313 閱讀 7305

前提:測試中需要給某些應用設定黑名單,所以從.txt檔案中求兩者的差集,就可以篩選出需要測試的應用

思路:將.txt檔案中的資料讀到list列表中,求列表的交集,再輸出到指定目錄

一. list操作的思路:

a = [1,2,3,4,5,6]

b = [5,6,7]

c =

①交集c = [i for i in a if i in b]   

c = [5,6]

for i in a:                      # i 在a中迴圈

if i in b:                    # 如果 i 在b中也存在

②差集同理:

c1 = [i for i in a if i not in b]        #a中有但b中沒有

c1 = [1,2,3,4]

c2 = [i for i in b if i not in a]       #b中有但a中沒有 

c2 = [7]

c3 = c1+c2

c3 = [1,2,3,4,7]

二. set操作的思路:

集合(set)是乙個無序的不重複元素序列

可以使用大括號 或者 set() 函式建立集合

注意:建立乙個空集合必須用set() 而不是 ,因為 是用來建立乙個空字典

a = [1,2,3,4,5,6]

b = [5,6,7]

c =

①交集c = list(set(a)&set(b))  or   c = list(set(a).intersection(set(b)))   

c = [5,6]     

②差集c = list(set(a)-set(b))

or   c = list(set(a).difference(set(b))) 

# a中有b中沒有

c = [1,2,3,4]

c = list(set(b)-set(a))  

or   c = list(set(b).difference(set(a))) 

# b中有a中沒有

c = [7]

③對稱差集

c = list(set(a)^set(b))  or  c = list(set(a).symmetric_difference(set(b)))   

c = [1,2,3,4,7]

④並集c = list(set(a) | set(b))  or  c = list(set(a).union(set(b)))             # 全部元素

c = [1,2,3,4,5,6,7]

python 集合比較(交集 並集,差集)

python的set和其他語言類似,是乙個無序不重複元素集,基本功能包括關係測試和消除重複元素.集合物件還支援union 聯合 intersection 交 difference 差 和sysmmetric difference 對稱差集 等數 算.sets 支援 x in set,len set ...

python集合的刪除 新增 交集 並集 差集

python3.x 集合概念 集合 set 是乙個無序的不重複元素序列。建立集合 可以使用大括號 或者 set 函式建立集合,注意 建立乙個空集合必須用 set 而不是 因為 是用來建立乙個空字典。a set boy 新增集合方法 add 把傳入的元素作為一整個元素新增到集合,update 把傳入的...

交集並集差集

1 內連線 select from student a inner join sc b on a.sno b.sno 左連線 select from student a left join sc b on a.sno b.sno 差集 select sno from student except s...