1. 程式人生 > >集合(set)的基本操作

集合(set)的基本操作

使用 元素 去重 union enc section 字符 一個 沒有

集合是一個無序的,不重復的數據組合,它的主要作用如下:

  • 去重,把一個列表變成集合,就自動去重了
  • 關系測試,測試兩組數據之前的交集、差集、並集等關系

常用操作

a = set([1,2,3,4,5])
b = set([4,5,6,7,8])

print(a.intersection(b))  #交集  {4, 5}
print(a&b)

print(a.union(b))  #並集  {1, 2, 3, 4, 5, 6, 7, 8}
print(a|b)

print(a.difference(b)) #插集、得到的是a裏有的b裏沒有的  {1, 2, 3}
print(a-b)

print(b.difference(a)) #插集、得到的是b裏有的a裏沒有的  {8, 6, 7}
print(b-a)

print(a.symmetric_difference(b)) #方向交集、{1, 2, 3, 6, 7, 8}
print(a^b)

 1 s = set([3,5,9,10])      #創建一個數值集合  
 2   
 3 t = set("Hello")         #創建一個唯一字符的集合  
 4 
 5 
 6 a = t | s          # t 和 s的並集  
 7   
 8 b = t & s          # t 和 s的交集  
 9   
10 c = t – s          # 求差集(項在t中,但不在s中)  
11   
12 d = t ^ s          # 對稱差集(項在t或s中,但不會同時出現在二者中)  
13   
14    
15
16 基本操作: 17 18 t.add(x) # 添加一項 19 20 s.update([10,37,42]) # 在s中添加多項 21 22 23 24 使用remove()可以刪除一項: 25 26 t.remove(H) 27 28 29 len(s) 30 set 的長度 31 32 x in s 33 測試 x 是否是 s 的成員 34 35 x not in s 36 測試 x 是否不是 s 的成員 37 38 s.issubset(t)
39 s <= t 40 測試是否 s 中的每一個元素都在 t 中 41 42 s.issuperset(t) 43 s >= t 44 測試是否 t 中的每一個元素都在 s 中 45 46 s.union(t) 47 s | t 48 返回一個新的 set 包含 s 和 t 中的每一個元素 49 50 s.intersection(t) 51 s & t 52 返回一個新的 set 包含 s 和 t 中的公共元素 53 54 s.difference(t) 55 s - t 56 返回一個新的 set 包含 s 中有但是 t 中沒有的元素 57 58 s.symmetric_difference(t) 59 s ^ t 60 返回一個新的 set 包含 s 和 t 中不重復的元素 61 62 s.copy() 63 返回 set “s”的一個淺復制

集合(set)的基本操作