集合(set)是一个无序不重复元素的序列。
它的主要作用如下:
- 去重,把一个列表变成集合,就自动去重了
- 关系测试,测试两组数据之前的交集、差集、并集等关系
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:
1 parame = {value01,value02,...} 2 或者 3 set(value)
例:
1 #!/usr/bin/python3 2 3 student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'} 4 5 print(student) # 输出集合,重复的元素被自动去掉 6 7 # 成员测试 8 if('Rose' in student) : 9 print('Rose 在集合中') 10 else : 11 print('Rose 不在集合中') 12 13 14 # set可以进行集合运算 15 a = set('abracadabra') 16 b = set('alacazam') 17 18 print(a) 19 20 print(a - b) # a和b的差集 21 22 print(a | b) # a和b的并集 23 24 print(a & b) # a和b的交集 25 26 print(a ^ b) # a和b中不同时存在的元素 复制代码
以上实例输出结果:
1 {'Mary', 'Jim', 'Rose', 'Jack', 'Tom'} 2 Rose 在集合中 3 {'b', 'a', 'c', 'r', 'd'} 4 {'b', 'd', 'r'} 5 {'l', 'r', 'a', 'c', 'z', 'm', 'b', 'd'} 6 {'a', 'c'} 7 {'l', 'r', 'z', 'm', 'b', 'd'}
常用操作:
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 的成员 记得是'x' 不是 直接 x 因为是x在集合中是一个字符 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”的一个浅复制
转载自:https://www.cnblogs.com/jiyimeng/p/python11152.html