Python集合交并补,python实现集合并交差运算

  Python集合交并补,python实现集合并交差运算

  本文列举了Python中实现集合交、并、补的三种方式。一个背景,两个实践过程。2.1通过Python的推导。2.2通过Python内置的sets方法。2.3通过Python的按位运算,实现三个汇总。

  Python中实现集合交、并、补的三种方法。

  这个收藏的概念在我们高中就知道了,毕业已经很多年了。下面我们一起来复习一下与收藏相关的一些基本概念。

  集合指具有一定性质的具体或抽象物体的集合。其中,构成集合的对象称为集合的元素。

  集合具有以下属性:

  确定性

  给定一个集合,给定一个元素,无论该元素属于还是不属于该集合,两者必须合一,不允许有歧义。互异性

  在一个集合中,任何两个元素被认为是不同的,也就是说,每个元素只能出现一次。有时,需要描述同一元素多次出现的情况。您可以使用multiset,其中允许元素出现多次。无序性

  在一个集合中,每个元素的状态是相同的,元素是无序的。可以在集合上定义顺序关系。定义了顺序关系后,可以根据顺序关系对元素进行排序。但就集合本身的特征而言,元素之间并没有必然的顺序。交的定义:属于A和B的一组相同的元素,标为AB(或BA),读作“A交B”(或“B交A”),即AB={xxA,且xB},注意的交集越来越少。如果A包含B,那么AB=B,A B=A。

  并集的定义:由属于集合A或集合B的所有元素组成的集合,标为A B(或B A),读作“AB”(或“BA”),即AB={xxA,或X B。

  补集

  补语可以分为相对补语和绝对补语。

  相对补集的定义:由属于A但不属于B的元素组成的集合,称为B关于A的相对补集,记为A-B或A\B,即A-B={xxA,而XB}。

  绝对补的定义:A的全集U的相对补称为A的绝对补,记为A 或U (A)或~ A . U =;=U .

  在日常工作中,集合的交、并、补是最常见的运算。例如,将多个文件夹中的文件合并到一个文件夹中,找到两个文件夹中同名但不同名的文件。用下面两个列表练习(lst_a缩写为set A,lst_b缩写为set B):

  Lst _ a=[1,2,3,4,5] lst _ b=[3,4,5,6,7] 2。练习过程2.1通过Python的求导求集合A和集合B的交集lst _ a=[1,2,3,4,5]lst _ B=[3 7]lst _ c=[x for x in lst _ B if x in lst _ A]# lst _ c=[x for x in lst _ A if x in lst _ B]print(lst _ c)运行结果:

  [3,4,5]求集合A和集合B的并集lst _ a=[1,2,3,4,5] lst _ b=[3,4,5,6,7]lst _ c=lst _ a[如果x不在lst _ A中,则x在lst _ b中。

  集合B的补集上的[1,2,3,4,5,6,7]集合A(B-A)lst _ A=[1,2,3,4,5] lst _ b=[3,4,5,6,7] lst _ c=[x for x in

  [6,7]集合B的补集关于集合A (a-b) lst _ a=[1,2,3,4,5] lst _ b=[3,4,5,6,7]lst _ c=[x for x in lst _ A if x not in lst _ B]print

  [1,2] 2.2通过Python的集合内置方法,需要将列表转换成集合才能使用集合内置方法。

  求集合A和集合B的交集lst _ a=[1,2,3,4,5] lst _ b=[3,4,5,6,7]set _ A=set(lst _ A)set _ B=set(lst _ B)set _ c=set _ A。

  [3,4,5]求集合A和集合B的并集lst _ a=[1,2,3,4,5] lst _ b=[3,4,5,6,7]set _ A=set(lst _ A)set _ B=set(lst _ B)。

  集合A的补集上的[1,2,3,4,5,6,7]集合B(A-B)lst _ A=[1,2,3,4,5] lst _ b=[3,4,5,6,7] set _ a=set (lst

  [1,2]集合A的补关于集合B (b-a) lst _ a=[1,2,3,4,5] lst _ b=[3,4,5,6,7]set _ A=set(lst _ A)set _ B=set(lst

  [6,7]2.3 Python按位运算实现需要将列表转换成集合才能使用set内置方法。

  求集合A和集合B的交集lst _ a=[1,2,3,4,5] lst _ b=[3,4,5,6,7]set _ A=set(lst _ A)set _ B=set(lst _ B)set _ c=set _ A集合。

  [3,4,5]求集合A和集合B的并集lst _ a=[1,2,3,4,5] lst _ b=[3,4,5,6,7]set _ A=set(lst _ A)set _ B=set(lst _ B)。

  集合A的补集上的[1,2,3,4,5,6,7]集合B(A-B)lst _ A=[1,2,3,4,5] lst _ b=[3,4,5,6,7] set _ a=set (lst

  [1,2]集合A的补关于集合B (b-a) lst _ a=[1,2,3,4,5] lst _ b=[3,4,5,6,7]set _ A=set(lst _ A)set _ B=set(lst

  [6,7]集合A和集合B的完备集去掉交集lst _ a=[1,2,3,4,5] lst _ b=[3,4,5,6,7]set _ A=set(lst _ A)set _ B=set(lst _ B)set _

  【1,2,6,7】三小结3.1在处理相似集合的数据时,要注意集合与列表之间的相互转换,根据其特点灵活运用;

  3.2内置的采集方式很少使用,但是使用起来很方便;

  3.3按位运算符在集合运算中的应用简洁明了。建议平时稍微注意一点;

  3.4 Python中的导数公式适用于列表、集合、字典等各种数据结构。运用得当,往往能事半功倍;

  3.5由于列表在实际使用中很常见,所以本文中的示例主要针对列表。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: