(16)-Python3之--集合(set)操作
阿新 • • 發佈:2021-01-09
1.定義
集合的關鍵字:set
集合主要作用:
- 去重,把一個列表變成集合,就自動去重了
- 關係測試,測試兩組資料之前的交集、差集、並集等關係
集合用大括號{}表示,元素間用逗號分隔。
建立集合型別用{}或set(),建立空集合,必須使用set()。
集合元素之間無序,每個元素唯一,不存在相同元素。
在python中,集合元素不可更改,不能是可變資料型別。
-集合中的每個元素,一旦放入集合中,不可修改。
-可變資料型別元素不可放入集合內。
2.集合建立方式
# 使用{}建立集合 A = {"python",123,("python",123)} print(A) # 使用set()建立集合# 注:set函式建立的集合,會將每個字元分開分別建立一個元素,集合中不存在相同集合,所以只保留一個相同元素,集合沒有順序,所以順序是隨機的 B = set("pypy123") print(B) 結果: {123, 'python', ('python', 123)} {'3', '1', 'p', 'y', '2'}
3.集合操作符
a = t | s # t 和 s的並集
b = t & s # t 和 s的交集
c = t – s # 求差集(項在t中,但不在s中)
d = t ^ s # 對稱差集(項在t或s中,但不會同時出現在二者中)
效果也如下圖所示:
4.增強型集合操作符
Python還提供了關係操作符外,python還提供了> = >= <= <
S<=T或S<T 返回True/False,判斷S和T的子集關係
S>=T或S>T 返回True/False,判斷S和T和包含關係
增強操作符如圖所示:
增強操作符:使用賦值=符號,更新集合的元素
注:如果不使用增強操作符,兩個集合進行運算,會生成一個新的集合。
5.集合處理方法
如圖所示:
注:discard和remove的區別在於是否產生異常 如果出現異常,可以使用之前學過的try異常處理捕捉異常,所以這裡很關鍵。
除此之外:
S.clear() 移除S集合中的所有元素
S.pop() 隨機返回集合S中的一個元素,更新S,若S為空產生keyerror異常
除此之外還有:
# 基本操作: s = set([3,5,9,10]) # 建立一個數值集合 t = set("Hello") # 建立一個唯一字元的集合 t.add('x') # 新增一項 s.update([10, 37, 42]) # 在s中新增多項 # 使用remove() # 可以刪除一項: t.remove('H') # set的長度 len(s) # 測試 x 是否是 s 的成員 x in s # 測試 x 是否不是 s 的成員 x not in s # 測試是否 s 中的每一個元素都在 t 中 s.issubset(t) s <= t # 測試是否 t 中的每一個元素都在 s 中 s.issuperset(t) s >= t # 返回一個新的 set 包含 s 和 t 中的每一個元素 s.union(t) s | t # 返回一個新的 set 包含 s 和 t 中的公共元素 s.intersection(t) s & t # 返回一個新的 set 包含 s 中有但是 t 中沒有的元素 s.difference(t) s - t # 返回一個新的 set 包含 s 和 t 中不重複的元素 s.symmetric_difference(t) s ^ t # 返回 set “s”的一個淺複製 s.copy()