脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - python 如何比较两集合的大小关系

python 如何比较两集合的大小关系

2021-09-18 00:13252619 Python

这篇文章主要介绍了python 比较两集合的大小关系操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

我就废话不多说了,大家还是直接看代码吧~

?
1
print({1, 2} > {1}) # True

补充:Python——集合是一个非常之牛逼的数据比较方式

什么是集合?对似懂非懂或者被集合搞晕了的同学可以来看一下。

首先不想说太多概念性的东西,免得又晕了!

请看下面我写的例子,看完之后自然就知道啥是集合以及如何去应用它

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#变量a是一个集合类型
a = set ()
print ( type (a))
 
#定义一个列表,并存入很多重复的数字
dt = [ 12 , 9 , 2 , 8 , 4 , 9 , 2 , 7 , 4 , 5 , 6 , 11 , 5 , 7 , 5 , 7 , 9 , 8 , 7 , 2 ]
for i in dt: #遍历列表
  a.add(i) #将列表中的每一个元素添加进集合
 
#打印集合,发现,自动去掉重复的数字了
print (a)
 
#5存在于集合中吗?
print ( 5 in a)
 
#遍历集合
for item in a:
  print (item)
 
#将集合转化成列表
set_list = list (a)
print (set_list)
print ( type (set_list))

那么,集合还涉及到下面几个牛逼的玩意:

并集:

它将两个集合作为参数,并返回一个包含全部存在于两个集合中任意一个的元素的新集合,用union()方法, 操作符是:"|"

交集:

它接收第2个集合为参数,返回的是仅包含同时存在于两个集合的那些元素,intersection方法实现,操作符是:"&"

差集:

它告诉我们哪些是剩下的元素,它是一个存储于或是存在于这个集合或是另一个集合,但不是同时存在于两个集合的对象的集合 symmetric_difference方法实现,操作符是:"-"

继续看例子

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
a = { 1 , 2 , 3 , 4 , 5 }
b = { 6 , 2 , 3 , 7 }
 
#求a和b的并集,将两组数据中共同存在的数字去除掉后,生成一个不存在重复数字的新集合
print (a.union(b))
 
#求a和b的交集,将两组数据中共有的数字提取出来,并生成一个新的集合,让我们知道这两组数据中哪些数字都存在于两组数据里
print (a.intersection(b))
 
#求a和b的差集,将两组数据中所没有的数字提取出来后,生成一个新的集合
print (a.symmetric_difference(b))
 
#注意:他们的结果取决于谁是调用者,谁是参数,上面的3条例子中,a集合是调用者,b集合是参数
 
#a集合中的所有数字都存在于b集合的话,则返回true, a是调用者,b是参数
print (a.issubset(b))
 
#b集合作为参数,b集合中的所有元素都存在于a集合中的话,返回true
print (a.issuperset(b))
 
#想要知道全部只存在于a集合而不存在于b集合的元素
print (a.difference(b)) #结果是1,4,5
#反之
print (b.difference(a)) #结果是6和7

总结:

通过测试说明,集合可以用来操作另一个集合,集合不仅仅只是一个容器

那么,应用场景一般有如下:

1、对两处不同的数据,如果要快速的结合起来去做分析,那么请用集合

2、那么快速的结合起来的目的一般是干嘛呢?,比如想知道两处数据中哪些是重复的,哪些是不同的

因此:

集合是一个非常之牛逼的数据比较方式

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。

原文链接:https://yuzisheng.blog.csdn.net/article/details/87186261

延伸 · 阅读

精彩推荐