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---集合的主要内容,如果未能解决你的问题,请参考以下文章

scrapy按顺序启动多个爬虫代码片段(python3)

代码片段 - Golang 实现集合操作

laravel特殊功能代码片段集合

金蝶handler中 collection 代码片段理解

Alfred常见使用

python常用代码片段总结