更新时间:2021-08-10 来源:黑马程序员 浏览量:
数学中,两个集合关系的常见操作包括:交集、并集、差集、补集。设A,B是两个集合,集合关系的操作介绍如下:
交集是指属于集合A且属于集合B的元素所组成的集合,
并集是指集合A和集合B的元素合并在一起组成的集合,
差集是指属于集合A但不属于集合B的元素所组成的集合,
补集是指属于集合A和集合B但不同时属于两者的元素所组成的集合。
Python中集合之间支持前面所介绍的四种操作,操作逻辑与数学定义完全相同。Python提供了四种操作符以实现这四项操作,分别是交集(&)、并集(|)、差集(-)、补集(^)。下面以两个圆形表示集合A和B,并使用阴影部分显示四种操作的结果,如图1所示。
图1 集合间关系的操作
除此之外,Python还提供了4个增强操作符:|=、-=、&=、^=,它们与前面4个操作符的区别是,前者是生成了一个新的集合,而后者是更新了位于操作符左侧的集合。接下来,通过一张表罗列集合S和T之间关系的常见操作,具体如表1所示。
表1 集合间的常见操作
常见操作 | 说明 |
---|---|
S|T S.union(T) | 返回一个新集合,该集合包含属于S和T的所有元素 |
S-T S.difference(T) | 返回一个新集合,该集合包含属于集合S但不属于集合T的元素 |
S&T S.intersection(T) | 返回一个新集合,该集合包含同时属于集合S和T的元素 |
S^T S.symmetric_difference(T) | 返回一个新集合,该集合包含集合S和T中的元素,但不包含同时属于两者的元素 |
S|=T S.update(T) | 更新集合S,该集合包含集合S和T所有的元素 |
S-=T S.difference_update(T) | 更新集合S,该集合包含在集合S中但不属于集合T的元素 |
S&=T S.intersection_update(T) | 更新集合S,该集合包含同时属于集合S和T的元素 |
S^=T S.symmetric_difference_update(T) | 更新集合S,该集合包含集合S和T中的元素,但不包含同时属于两者的元素 |
猜你喜欢: