集合(set)的基本操做

集合是一個無序的,不重複的數據組合,它的主要做用以下:python

  • 去重,把一個列表變成集合,就自動去重了
  • 集合中的元素必須是不可變類型
  • 關係測試,測試兩組數據以前的交集、差集、並集等關係

經常使用操做測試

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 t.pop()   #隨機刪除     t.disicard() 指定刪除(元素不存在會報錯)
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」的一個淺複製
相關文章
相關標籤/搜索