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

liftword2个月前 (02-26)技术文章10


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

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

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

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

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

我们来通过一个具体的例子进行讲解,如图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 ... 中。具体用法如下:

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

&方法

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

集合并集--union和|

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


union方法

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


|方法

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

集合差集

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

different方法

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

-方法

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

对称差集--^

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

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



相关文章

三分钟掌握Python 中最常用的 10 种 Set 方法

Python 中的集合至关重要,也是 Python 中最常用的内置数据类型之一。集合具有一些主要属性。集合中的元素必须是唯一的。套装中不允许有重复项。它们是无序的设置项目不可更改,但您可以删除和添加新...

Python 集合(Set)的十个经典案例_python 集合 discard

Python 集合(Set)是一种无序、可变的数据结构,存储不重复的元素。集合类似于数学上的集合概念,可以进行交集、并集、差集等运算。1. 创建集合可以使用花括号 {} 或 set() 函数创建集合。...

Python集合类型Set详细总结_python里面集合

(一)Python集合数据类型Set总结-1 1、set特点set 可以过滤重复元素,本身是无序的(元素顺序是混乱的)不重复的示例-1:set = {1,2,2,3,4,4,5,6,7,7}#输出se...

Python基础-Python中集合Set的高级操作介绍

在之前的分享中,我们介绍了关于Python中Set集合的简单操作,实际上在Python中还提供了关于Set集合更多强大的操作功能,下面我们就来详细看看这些高级功能的使用。交集、并集、差集和对称差集两个...

Python基础之Set集合操作_python set取并集

''' 集合是无序和无索引的集合。在 Python 中,集合用花括号编写。 集合set,元素是不可重复的 ''' # 创建集合 demoSet = {'a', 'b', 'c'} p...

Python基础篇(三)dict和set类型_python dicts

dict一、dict的定义dict即字典,相当于golang中的map类型,key-value型.具有极快的查找速度.由于dict中key的值是唯一的,因此如果多次赋值,最终结果为最后一次的赋值.二、...