Python核心语法教程:集合的运算(交集、并集和差集)

2022-07-2821:30:19编程语言入门到精通Comments817 views字数 1647阅读模式

遇到一些问题的时候,使用集合的交集、并集和差集能够更便捷的帮助我们去解决问题,看下面一个例子。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26190.html

某学校有两个班级,班级A需要学习数学、语文、英语、物理、化学和生物,班级B需要学习数学、语文、英语、政治、地理和历史。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26190.html

我们可以直接看出A班级和B班级的交集为数学、语文和英语,并集为数学、语文、英语、物理、化学、生物、政治、地理、历史,A和B的差集为物理、化学和生物。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26190.html

那么怎么使用Python去完成这些运算?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26190.html

我们先在这里定义两个集合,文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26190.html

1
2
= {'数学','语文','英语','物理','化学','生物'}
= {'数学','语文','英语','政治','地理','历史'}

1. 交集文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26190.html

我们使用集合求交集的时候可以采用两种方式,一种是使用‘&’运算符进行操作,一种是使用intersection()方法来实现。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26190.html

我们通过这两种方法来分别求集合A和B的交集。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26190.html

方法1——使用‘&’运算符:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26190.html

1
2
3
4
>>> A = {'数学','语文','英语','物理','化学','生物'}
>>> B = {'数学','语文','英语','政治','地理','历史'}
>>> A & B
{'英语''语文''数学'}

方法2——使用intersection()方法:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26190.html

1
2
3
4
>>> A = {'数学','语文','英语','物理','化学','生物'}
>>> B = {'数学','语文','英语','政治','地理','历史'}
>>> A.intersection(B)
{'英语''语文''数学'}

因为是求交集,因此A和B的位置调换依然不影响结果。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26190.html

2. 并集文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26190.html

使用集合求并集的方式同样也是两种方式,一种是使用‘|’运算符进行操作,一种是使用union()方法来实现。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26190.html

方法1——使用‘|’运算符文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26190.html

1
2
3
4
>>> A = {'数学','语文','英语','物理','化学','生物'}
>>> B = {'数学','语文','英语','政治','地理','历史'}
>>> A | B
{'英语''物理''语文''政治''化学''数学''生物''地理''历史'}

方法2——使用union()方法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26190.html

1
2
3
4
>>> A = {'数学','语文','英语','物理','化学','生物'}
>>> B = {'数学','语文','英语','政治','地理','历史'}
>>> A.union(B)
{'英语''物理''语文''政治''化学''数学''生物''地理''历史'}

求并集的时候同样不需要注意A和B的位置关系。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26190.html

3. 差集文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26190.html

使用集合求差集的方式同样也是两种方式,一种是使用‘-’运算符进行操作,一种是使用difference()方法来实现。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26190.html

方法1——使用‘-’运算符文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26190.html

1
2
3
4
5
6
>>> A = {'数学','语文','英语','物理','化学','生物'}
>>> B = {'数学','语文','英语','政治','地理','历史'}
>>> A - B
{'物理''生物''化学'}
>>> B - A
{'政治''历史''地理'}

方法2——使用difference()方法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26190.html

1
2
3
4
5
6
>>> A = {'数学','语文','英语','物理','化学','生物'}
>>> B = {'数学','语文','英语','政治','地理','历史'}
>>> A.difference(B)
{'物理''生物''化学'}
>>> B.difference(A)
{'政治''历史''地理'}

在方法2中注意A和B的位置不同的时候是有区别的,如果是A使用difference()方法,那么是输出A中有而B中没有的元素,如果是B使用difference()方法,那么是输出B中有而A中没有的元素。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26190.html

4. 总结文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26190.html

学习完了集合,四种核心集合我们已经基本掌握,接下来几节我们来通过学习一些字符串的相关操作,学习字符串的过程中会穿插着前面简单介绍过但没仔细讲解的方法及操作。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/26190.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ymba/26190.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定