合集是一個無序的,不重覆的數據組合,它的特點:1. 去重,把一個列表變成合集,就自動去重了。2. 關係測試,測試兩組數據之間的交集、差集、並集等關係。3. 沒有插入功能,只能添加。 4. 以{}的形式出現,類型為set 交集: 交集縮寫: 並集,: 並集縮寫 差集,就是1裡面有而2裡面沒有的數據。: ...
合集
主要功能是對比列表中的信息,進行關係測試。
特點:
1. 去重,把一個列表變成合集,就自動去重了。
2. 關係測試,測試兩組數據之間的交集、差集、並集等關係。
3. 沒有插入功能,只能添加。
4. 一個無序的,不重覆的數據組合
5. 沒有插入功能,只能添加。
以{}的形式出現,類型為set
list_1 = [1,2,3,5,3,4,2,33,1] #創建列表 list_1 = set(list_1) #關鍵字轉換成集合 print(list_1,type(list_1)) #輸出集合,並直接進行去重。 {1, 2, 3, 4, 5, 33} <class 'set'> #以大括弧的形式出現,數據類型為set
交集:
list_1 = set([1,2,3,5,3,4,2,33,1]) list_2 = set([2,2,4,5,6,7,7,8]) print(list_1.intersection(list_2)) #交集,就是將兩個集合中的重覆項顯示出來。 {2, 4, 5}
交集縮寫:
list_1 = set([1,2,3,5,3,4,2,33,1]) list_2 = set([2,2,4,5,6,7,7,8]) print(list_1 & list_2) #交集縮寫 {2, 4, 5}
並集:
list_1 = set([1,2,3,5,3,4,2,33,1]) list_2 = set([2,2,4,5,6,7,7,8]) print(list_1.union(list_2)) #並集,就是將兩個列表中的重覆選項去掉合併在一起。 {1, 2, 3, 4, 5, 33, 6, 7, 8}
並集縮寫。
list_1 = set([1,2,3,5,3,4,2,33,1]) list_2 = set([2,2,4,5,6,7,7,8]) print(list_1 | list_2) #並集縮寫 {1, 2, 3, 4, 5, 33, 6, 7, 8}
差集,就是1裡面有而2裡面沒有的數據。
list_1 = set([1,2,3,5,3,4,2,33,1]) list_2 = set([2,2,4,5,6,7,7,8]) print(list_1.difference(list_2)) #差集 {1, 3, 33}
差集縮寫:
list_1 = set([1,2,3,5,3,4,2,33,1]) list_2 = set([2,2,4,5,6,7,7,8]) print(list_1 - list_2) #差集縮寫 {1, 3, 33}
子集,就是判斷列表1中是不是包含列表3的全部數據。
list_1 = set([1,2,3,5,3,4,2,33,1]) list_3 = set([1,2,3]) print(list_3.issubset(list_1)) #子集 True #返回false或True
父集,就是判斷列表3中全部內容是不是在列表1中都有。
list_1 = set([1,2,3,5,3,4,2,33,1]) list_3 = set([1,2,3]) print(list_1.issuperset(list_3)) #父集 True #返回false或True
對稱差集,就是將兩個列表中都有的數字去掉,然後合併在一起。
list_1 = set([1,2,3,5,3,4,2,33,1]) list_2 = set([1,2,3,88]) print(list_1.symmetric_difference(list_2)) #對稱差集 print(list_1 ^ list_2) #對稱差集縮寫 {33, 4, 5, 88}
判斷交集,就是判斷兩個列表中是否有相同信息。
list_1 = set([1,2,3,5,3,4,2,33,1]) list_2 = set([1,2,3,88]) print(list_1.isdisjoint(list_2)) False #如果有交集就顯示False,如果沒有就顯示True
添加:
list_1 = set([1,2,3,5,3,4,2,33,1]) list_1.add(999) #添加 print(list_1) list_1.update([444,333,222]) #添加多項 print(list_1) {1, 2, 3, 4, 5, 33, 999} {1, 2, 3, 4, 5, 33, 999, 333, 444, 222}
刪除:
list_1 = set([1,2,3,5,3,4,2,333,1]) list_1.remove(333) #刪除 print(list_1)
隨機刪除一個:
list_1 = set([1,2,3,5,4,333]) print(list_1.pop()) 1 #返回刪除的值
刪除,如果不在集合內將不報錯。
list_1 = set([1,2,3,5,4,333]) list_1.discard(222) #集合內沒有也不會報錯。
顯示去重以後的長度:
list_1 = set([1,2,3,5,4,333]) print(len(list_1)) 6
判斷數字是否在合集中。
list_1 = set([1,2,3,5,4,333]) print(6 in list_1) False #如果沒有將顯示False,如果有將顯示True
盤算數字是否不在這個集合中。
list_1 = set([1,2,3,5,4,333]) print(6 not in list_1) True #如果不在將顯示True,如果在將顯示False
複製:
list_1 = set([1,2,3,5,4,333]) list_2 = list_1.copy() #複製到list_2中。 print(list_2) print(type(list_2)) {1, 2, 3, 4, 5, 333} <class 'set'>