集合set的基本操作

集合是一个无序的,不重复的数据组合,它的主要作用如下:

  • 去重,把一个列表变成集合,就自动去重了
  • 集合中的元素必须是不可变类型
  • 关系测试,测试两组数据之前的交集、差集、并集等关系

常用操作:

集合set的基本操作
 1 a = set([1,2,3,4,5])
 2 b = set([4,5,6,7,8])
 3  
 4 print(a.intersection(b))  #交集  {4, 5}
 5 print(a&b)
 6  
 7 print(a.union(b))  #并集  {1, 2, 3, 4, 5, 6, 7, 8}
 8 print(a|b)
 9  
10 print(a.difference(b)) #插集、得到的是a里有的b里没有的  {1, 2, 3}
11 print(a-b)
12  
13 print(b.difference(a)) #插集、得到的是b里有的a里没有的  {8, 6, 7}
14 print(b-a)
15  
16 print(a.symmetric_difference(b)) #方向交集、{1, 2, 3, 6, 7, 8}
17 print(a^b)
18 
19 
20 
21 
22 s = set([3,5,9,10])      #创建一个数值集合  
23   
24 t = set("Hello")         #创建一个唯一字符的集合  
25 
26 a = t | s          # t 和 s的并集  
27   
28 b = t & s          # t 和 s的交集  
29   
30 c = t – s          # 求差集(项在t中,但不在s中)  
31   
32 d = t ^ s          # 对称差集(项在t或s中,但不会同时出现在二者中)  
33 基本操作:  
34   
35 t.add('x')            # 添加一项  
36   
37 s.update([10,37,42])  # 在s中添加多项  
38   
39 t.pop()   #随机删除     t.disicard() 指定删除(元素不存在会报错)
40   
41 使用remove()可以删除指定一项(元素不存在会报错):  
42   
43 t.remove('H')  
44 
45 len(s)  
46 set 的长度  
47   
48 x in s  
49 测试 x 是否是 s 的成员  
50   
51 x not in s  
52 测试 x 是否不是 s 的成员  
53   
54 s.issubset(t)  
55 s <= t  
56 测试是否 s 中的每一个元素都在 t 中  
57   
58 s.issuperset(t)  
59 s >= t  
60 测试是否 t 中的每一个元素都在 s 中  
61   
62 s.union(t)  
63 s | t  
64 返回一个新的 set 包含 s 和 t 中的每一个元素  
65   
66 s.intersection(t)  
67 s & t  
68 返回一个新的 set 包含 s 和 t 中的公共元素  
69   
70 s.difference(t)  
71 s - t  
72 返回一个新的 set 包含 s 中有但是 t 中没有的元素  
73   
74 s.symmetric_difference(t)  
75 s ^ t  
76 返回一个新的 set 包含 s 和 t 中不重复的元素  
77   
78 s.copy()  
79 返回 set “s”的一个浅复制
View Code

 

上一篇:Difference between SpringBoot and SpringCloud


下一篇:LeetCode.1200-最小绝对值差(Minimum Absolute Difference)