Python基础知识之集合(set)中交集、并集、差集运算

Python基础知识之集合(set)中交集、并集、差集运算对称差集 取集合 A 和 B 中不属于 A 和 B 公共的元素 即全集中去掉 A 和 B 公共元素的集合 我们以这两个集合为例 分别做并集 交集和差集各运 运算的结果如下 并集 1 2 3 4 5

大家好,欢迎来到IT知识分享网。

Python基础知识之集合(set)中交集、并集、差集运算

集合中最常见的操作就是并集、交集和差集,为了更好地学习这些知识和编程实现方式。我们从并集、交集和差集各运算的含义开始讲解。

并集:取两集合全部的元素。

交集:取两集合公共的元素。

差集:取一个集合中另一集合没有的元素。

对称差集:取集合 A 和 B 中不属于 A和B 公共的元素,即全集中去掉A和B公共元素的集合。

我们来通过一个具体的例子进行讲解,如图1所示:

Python基础知识之集合(set)中交集、并集、差集运算

图1 集合示意图

图1中,有 2 个集合:set1和set2,其中 set1={1,2,3} ,set2={3,4,5}。它们既有相同的元素,也存在不同的元素。我们以这两个集合为例,分别做并集、交集和差集各运,运算的结果如下:

并集:{1,2,3,4,5}

我们知道并集就是取两集合全部的元素,我们还知道集合中不能存在重复的元素。 set1={1,2,3} ,set2={3,4,5},set1和set2中都存在3这个元素,那么他们的并集3只要去重,只保留一个。即并集:{1,2,3,4,5}

交集:{3}

交集是取两集合公共的元素,通过图1,我们可以知道,set1和set2的公共元素为3。即交集:{3}

差集:{1,2}或{4,5}

差集是取一个集合中另一集合没有的元素。如果set1差set2(set1-set2),那就是图中的①部分,那如果set2差set1(set2-set1)那就是图中的③部分。

对称差集:{1,2,4,5}

对称差集是全集中去掉set1和set2公共元素的集合,全集为{1,2,3,4,5},两集合公共元素为{3},所以对称差集{1,2,4,5}

我们了解集合的数学运算操作,我们来看看如何通过Python编程语言进行实现。

集合交集–intersection和&

交集运算返回一个新的集合,新集合里的元素存在与所有参与计算的集合中。

intersection方法

语法:s.intersection(set1,…,setN),其中intersection方法可以传入多个集合,最少传入一个集合,因此set1是必须要传入的,返回的新集合中的元素既在s中,也在set1,set2 … 中。具体用法如下:

Python基础知识之集合(set)中交集、并集、差集运算

字符串java既在set_1中,也在set_2中,set_1调用intersection 和et_2 调用intersection方法,得到的交集是相同的。

&方法

&是简单和方便的实现交集的方法,具体如下:

Python基础知识之集合(set)中交集、并集、差集运算

集合并集–union和|

并集运算返回一个新的集合,新集合中的元素包含了所有参与运算的集合的元素,你可以理解为将所有集合的元素放在一起组成了一个新的集合。

union方法

语法定义:s.union(set1,…,setN),union方法允许传入多个集合,set1必传,因为至少需要传入一个集合参与计算。具体如下:

Python基础知识之集合(set)中交集、并集、差集运算

|方法

&是简单和方便的实现并集的方法,具体如下:

Python基础知识之集合(set)中交集、并集、差集运算

集合差集

差集运算返回一个新集合,差集运算的结果与运算顺序有关,比如两个集合s1 和 s2,s1对s2求差集的结果与s2对s1求差集的结果是不相同的,除非s1与s2完全相同,他们的差集是一个空集合。

different方法

差集语法定义:s1.difference(s2),具体如下:表示s1对s2求差集的结果。具体如下:

Python基础知识之集合(set)中交集、并集、差集运算

-方法

-是简单和方便的实现差集的方法,具体如下:

Python基础知识之集合(set)中交集、并集、差集运算

对称差集–^

取集合 A 和 B 中不属于 A&B 的元素,具体如下:

Python基础知识之集合(set)中交集、并集、差集运算

对称差集越大,表示一个团队的差异性越大,信息就越有流动价值,对自己的提升也大。相反,对称差集越小,表示大家都差不多,信息没有任何流动价值,也许是时候换一个圈子了。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/89061.html

(0)
上一篇 2026-04-06 18:11
下一篇 2024-02-17 11:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信