python怎么判断集合的超集?python集合比较详细介绍!

猿友 2021-07-23 09:46:30 浏览数 (2758)
反馈

我们在学习离散数学和数据结构的时候会学习到集合相关知识,也为我们后面学习算法打下一定的基础。在日常运算中我们可以直接计算集合,但在计算机中还要实现相应的集合运算方法,这其实是不利于我们后面学习算法的时候使用的。实际上python集合运算已经由他人实现了,我们只需要直接使用对应的方法即可。接下来我们就来介绍一下一些python集合比较的内容吧!

1、说明

可以使用 >= 运算符判断当前集合是否为另一个集合的超集,即判断集合 b 中的所有元素是否都包含在集合 a 中。

2、语法

set_a >= set_b  # 相当于set_a.issuperset(set_b)

3、参数

set_a:集合 a。

set_b:集合 b。

4、返回值

返回布尔值,如果集合 b 中的所有元素都包含在集合 a 中,则返回 True,否则返回 False。

5、实例

# 创建集合
a = {'赵', '钱', '孙', '李'}
b = {'赵', '孙', '李', '周', '吴'}
c = {'赵', '孙'}
d = {'王', '郑'}
# 判断集合是否为另一个集合的超集
print("a>=b返回:", a >= b)  # 返回False
print("b>=c返回:", b >= c)  # 返回True
print("a>=c返回:", a >= c)  # 返回True
print("a.issuperset(d)返回:", a.issuperset(d))  # 返回False

内容扩展:

python 集合比较(交集、并集,差集)

x = {1, 2, 3, 4}
y = {2, 4, 5, 6}

# 交集(取x中与y中相同部分)
print(x.intersection(y))
print(x & y)

# 并集(去重合并)
print(x.union(y))
print(x | y)

# 差集(x在y中不同部分,相反)
print(x.difference(y)) # {1, 3}
print(y.difference(x)) # {5,6}
print(x - y)
print(y - x)

# 补(对称差集) 两个分别差集之后合并为一个集合
print(x.symmetric_difference(y))
print(y.symmetric_difference(x))
print(x ^ y)
print(y ^ x)

# 子集和超集 :超集长的中包含短的。子集,短的在长的中
print(x.issubset(y))
print(y.issuperset(x))

结果请对号入座:

x.intersection(y):{2, 4}
x & y:{2, 4}
x.union(y):{1, 2, 3, 4, 5, 6}
x | y:{1, 2, 3, 4, 5, 6}
x.difference(y):{1, 3}
y.difference(x):{5, 6}
x - y:{1, 3}
y - x:{5, 6}
x.symmetric_difference(y):{1, 3, 5, 6}
y.symmetric_difference(x):{1, 3, 5, 6}
x ^ y:{1, 3, 5, 6}
y ^ x:{1, 3, 5, 6}
x.issubset(y):False
y.issuperset(x):False

以上就是python集合运算的一些常用的方法,希望能给各位小伙伴带来一点帮助,也希望大家继续多多支持W3Cschool


0 人点赞