python3---集合
Posted 十万行代码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3---集合相关的知识,希望对你有一定的参考价值。
集合(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
以上是关于python3---集合的主要内容,如果未能解决你的问题,请参考以下文章