扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
A在B中的相对补集:
创新互联公司是一家专注于网站设计制作、网站设计与策划设计,屏南网站建设哪家好?创新互联公司做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:屏南等地区。屏南做网站价格咨询:18982081108
元素属于B,但不属于A。写作B - A,读作“A在B中的相对补集”。
以{1,2,3}为例说明子集和真子集:
子集为{1}、{2}、{3}、{1,2}、{1,3}、{2,3}、它本身、再加个空集
真子集为{1}、{2}、{3}、{1,2}、{1,3}、{2,3}、再加个空集,不包括它本身。
非空真子集为{1}、{2}、{3}、{1,2}、{1,3}、{2,3},不包括它本身及空集。
运行结果:
in 不能用来判断子集,可以判断元素是否存在于集合中
运行结果:
;fromid=942400
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《Python中集合的交集、并集、差集和对称差集运算方法详解》。主要讲的是集合运算的相关的概念,及运算方法,包括:集合的交集、集合的并集、集合的差集、集合的对称差集、集合的交集运算方法、集合的并集运算方法、集合的差集运算方法、集合的对称差集运算方法。
在Python中,集合最常用的操作就是进行交集、并集、差集和对称差集的运算。
要想学习集合的交集、并集、差集和对称差集运算方法,首先我们来了解这些名词的含义:
设A、B两个集合,由所有属于集合A且属于集合B的元素所组成的集合,叫做集合A与集合B的交集。在Python中,进行交集运算时使用“”符号。
给定两个集合A、B,把他们所有的元素合并在一起组成的集合,叫做集合A与集合B的并集。在Python中,进行并集运算时使用“|”符号。
设A,B是两个集合,则所有属于A且不属于B的元素构成的集合,叫做集合A与集合B的差集。在Python中,进行差集运算时使用“-”符号。
对称差集也称为对称差分或者补集,设A,B是两个集合,所有不相同的集合,叫做集合A与集合B的对称差集(对称差分或者补集)。在Python中,进行对称差集运算时使用“^”符号。
上面都是概念性的描述,下面站长在线来举实际的场景来对交集、并集、差集和对称差集运算方法进行深入浅出的解读。
场景模拟:某高中三年级,文科班高考的科目是语文、数学、英语、政治、 历史 和地理。理科班高考的科目是语文、数学、英语、物理、化学和生物。
设定集合A为文科班高考的科目,集合B为理科班高考的科目。
A = {'语文','数学','英语','政治',' 历史 ','地理'}
B = {'语文','数学','英语','物理','化学','生物'}
我们使用集合的交集运算的时候可以采用两种方式,一种是使用“”运算符进行操作,另一种是使用 intersection() 方法来实现。
运行结果:
运行结果:
同理集合B和集合A的交集也是一样。我这里就不重复了,自己去体验一下。
集合的并集运算也有两种方式,一种是使用“|”运算符进行操作,另一种是使用union()方法来实现。
运行结果如下:
运行结果为:
同理集合B和集合A的并集也是一样。自己去体验一下吧!
集合的差集运算也有两种方式,一种是使用“-”运算符进行操作,另一种是使用difference()方法来实现。
运行结果为:
上面是集合A和集合B的差集,但是集合B和集合A的差集就不是一样的了哦!
运行结果为:
从上面可以看出,集合A和集合B的差集 与 集合B和集合A的差集是不一样的,(A - B)是A中存在的部分,(B - A)是B中存在的部分。
运行结果:
同理,使用difference()方法进行集合B和集合A的差集也是不同的
运行结果:
集合的差集运算也有两种方式,一种是使用“^”运算符进行操作,另一种是使用symmetric_difference()方法来实现。
运行结果为:
运行结果为:
同样的,集合B与集合A的对称差集也是一样,自己去体验一下。
我们对集合的交集、并集、差集和对称差集运算方法全部详细的讲解了一遍,通过运行结果,我们得出结论:
集合中进行交集、并集、对称差集进行运算的时候,集合A与集合B,位置替换的时候,结果相同。
集合中进行差集运算的时候,集合A与集合B,位置替换的时候,结果不同,为前面那个集合独立存在的部分。
到此为止,本节课的内容《Python中集合的交集、并集、差集和对称差集运算方法详解》就完全讲完了,主要讲的集合运算的相关的概念,及运算方法,包括:集合的交集、集合的并集、集合的差集、集合的对称差集、集合的交集运算方法、集合的并集运算方法、集合的差集运算方法、集合的对称差集运算方法。
原码:原码是二进制数字的一种简单的表示法。二进制首位为符号位,1代表负,0代表正。
反码:反码可由原码得到。如果是正数,反码与原码相同;如果是负数,反码是其原码(符号位除外)各位取反而得到的。
补码:补码可由原码得到。如果是正数,补码与原码相同;如果是负数,补码是对其原码(除符号位外)各位取反,并在末位加1而得到的(有进位则进位,但不改变符号位)。
python有按位取反的操作符:~ 但是对负整数要小心操作,因为在计算机系统中,数值一律用补码来表示和存储的。
我们在遇到一些问题的时候,使用集合的交集、并集和差集能够更便捷的帮助我们去解决问题,看下面一个例子。
某学校有两个班级,班级A需要学习数学、语文、英语、物理、化学和生物,班级B需要学习数学、语文、英语、政治、地理和历史。
我们可以直接看出A班级和B班级的交集为数学、语文和英语,并集为数学、语文、英语、物理、化学、生物、政治、地理、历史,A和B的差集为物理、化学和生物。
那么怎么使用Python去完成这些运算?
我们先在这里定义两个集合,
因为是求交集,因此A和B的位置调换依然不影响结果。
使用集合求并集的方式同样也是两种方式,一种是使用 ‘|’ 运算符进行操作,一种是使用 union() 方法来实现。
求并集的时候同样不需要注意 A 和 B 的位置关系。
使用集合求差集的方式同样也是两种方式,一种是使用 ‘-’ 运算符进行操作,一种是使用 difference() 方法来实现。
在方法2中注意 A 和 B 的位置不同的时候是有区别的,如果是 A 使用 difference() 方法,那么是输出 A 中有而 B 中没有的元素,如果是 B 使用 difference() 方法,那么是输出 B 中有而 A 中没有的元素。
学习完了集合,四种核心集合我们已经基本掌握,接下来几节我们来通过学习一些字符串的相关操作,学习字符串的过程中会穿插着前面简单介绍过但没仔细讲解的方法及操作。
setA = set(fib(i+1) for i in range(a))
setB = set(fib(i+1) for i in range(b))
setC = setA | setB
setAcomp = setC - setA
setBcomp = setC - setB
print(setAcomp)
print(setBcomp)
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流