集合(set)的基本操作
集合是一个无序的,不重复的数据组合,它的主要作用如下:
- 去重,把一个列表变成集合,就自动去重了
- 集合中的元素必须是不可变类型
- 关系测试,测试两组数据之前的交集、差集、并集等关系
常用操作
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”的一个浅复制