Python——集合运算

Python 中的集合与数学中集合的概念是一致的,因此,两个集合可以做数学意义上的交集、并集、差集计算等。集合的运算符或方法如表所示。

集合的运算符:

方法 功能描述
S & T 或 S . intersaction ( T ) 交集。返回一个新集合,包括同时在集合 S 和 T 中的元素
S|T 或 S . union ( T ) 并集。返回一个新集合,包括集合 S 和 T 中的所有元素
S - T 或 S . difference ( T ) 差集。返回一个新集合,包括在集合 S 中但不在集合 T 中的元素
S^T或 s . symmetric _ difference _ update ( T ) 补集。返回一个新集合,包括集合 S 和 T 中的元素,但不包括同时在其中的元素
s <= T 或 S . issubset ( T ) 子集测试。如果 S 与 T 相同或 S 是 T 的子集,返回 True ,否则返回 False 。可以用 S < T 判断 S 是否是 T 的真子集
S >=Т或 S . issuperset (T) 超集测试。如果 S 与 T 相同或 S 是 T 的超集,返回 True ,否则返回 False 。可以用 S > T 判断 S 是否是 T 的真超集

可能有人对超集有些陌生,这里给个定义:
超集定义:如果一个集合S2中的每一个元素都在集合S1中,且集合S1中可能包含S2中没有的元素,则集合S1就是S2的一个超集,反过来,S2S1的子集。 S1S2的超集,若S1中一定有S2中没有的元素,则S1S2真超集,反过来S2S1真子集
Python——集合运算_第1张图片

例 5-16 集合的运算:

>>> aset = set([10,20,30])
>>> bset = set([20,30,40])
>>> set1 = aset&bset	#交集运算
>>> set2 = aset|bset	#并集运算
>>> set3 = aset-bset	#差集运算
>>> set4 = aset^bset	#补集运算
>>> set1
{20, 30}
>>> set2
{20, 40, 10, 30}
>>> set3
{10}
>>> set4
{40, 10}
>>> set1<aset	#子集测试
True
>>> aset<set2	#超集测试
True
>>> aset>set2
False

关于超集的介绍来源于百度百科
https://baike.baidu.com/item/%E8%B6%85%E9%9B%86/1059571?fr=aladdin

你可能感兴趣的:(Python知识体系,python,集合)