交集
数学定义:集合论中,设A,B是两个集合,有所有属于A且属于集合B的元素所组成的集合,叫做集合A与集合B的交集(intersection),记作A∩B。
**交集的定义:**存在集合A和B,对于集合C,如果C的每个元素既是A的元素,又是B的元素,并且A和B所有相同的元素都在C里找到,那么C是A和B的交集。
>>> s1 = {1, 2, 3}
>>> s2 = {2, 3, 4}
>>> s1.intersection(s2)
{2, 3}
如上,intersection()方法可以得到两个集合的交集,是原地不修改,有返回值。
>>> s2.intersection_update(s1)
>>> s1
{1, 2, 3}
>>> s2
{2, 3}
如上,intersection_update()方法原地修改,返回None。等效于s2 = s1.intersection(s2)
。
>>> s1 = {1, 2, 3}
>>> s2 = {2, 3, 4}
>>> s1 & s2
{2, 3}
>>> s1
{1, 2, 3}
>>> s2
{2, 3, 4}
>>> s2 & s1
{2, 3}
如上,set重载了按位与运算符&为求交集的运算,即,集合中的&与intersection实现了同样的功能。为方便可以直接使用&会更清楚一些。
(重载,简单说,就是函数或者方法有相同的名称,但是参数列表不相同的情形,这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者方法。)
差集
数学定义:记A,B是两个集合,则所有属于A且不属于B的元素构成的集合,叫做集合A减集合B(或集合A与集合B之差),类似地,对于集合A、B,我们把集合 { x ∣ x ∈ A , 且 x ∉ B } \{x|x\in A,且x\notin B\} { x∣x∈A,且x∈/