0
点赞
收藏
分享

微信扫一扫

【Python入门教程】第49篇 集合的子集

月半小夜曲_ 2022-02-11 阅读 104

本篇我们将会介绍集合的 issubset() 方法,它可以检查一个集合是否是另一个集合的子集。

issubset() 方法

对于集合 A 和 B,如果 A 中的所有元素都属于 B,那么 A 就是 B 的子集(subset)。此时,集合 B 就是 A 的超集或父集(superset)。

以下文氏图中的集合 A 是集合 B 的子集:

Python issubset: Set A is subset of Set B
此时,集合 A 和 集合 B 可以相同。如果集合 A 和 B 不同,A 是 B 的真子集(proper subset)。

在 Python 中可以使用集合的 issubset() 方法判断一个集合是否为另一个集合的子集:

set_a.issubset(set_b)

如果 set_a 是 set_b 的子集,issubset() 方法返回 True;否则,返回 False。

以下示例使用 issubset() 方法检查 set_a 是否为 set_b 的子集:

numbers = {1, 2, 3, 4, 5}
scores = {1, 2, 3}

print(scores.issubset(numbers))

输出结果如下:

True

按照定义,任何集合都是它自己的子集,以下示例返回了 True:

numbers = {1, 2, 3, 4, 5}

print(numbers.issubset(numbers))

以下示例返回了 False,因为集合 numbers 中的某些元素不属于集合 scores。也就是说,集合 numbers 不是集合 scores 的子集:

numbers = {1, 2, 3, 4, 5}
scores = {1, 2, 3}

print(numbers.issubset(scores))

输出结果如下:

False

子集操作符

除了 issubset() 方法之外,我们也可以使用子集操作符(<=)判断一个集合是否为另一个集合的子集:

set_a <= set_b

如果集合 set_a 是集合 set_b 的子集,子集操作符返回 True;否则,返回 False。例如:

numbers = {1, 2, 3, 4, 5}
scores = {1, 2, 3}

result = scores <= numbers
print(result)  # True

result = numbers <= numbers
print(result)  # True

真子集操作符(<)用于判断集合一个集合是否为另一个集合的真子集:

set_a < set_b

例如:

numbers = {1, 2, 3, 4, 5}
scores = {1, 2, 3}

result = scores < numbers
print(result)  # True

result = numbers < numbers
print(result)  # False

以上示例中,集合 numbers 不是它自己的真子集,因此 < 操作符返回了 False。

总结

  • 如果集合 A 的所有元素都属于集合 B,A 就是 B 的子集。
  • 集合的 issubset() 方法用于判断一个集合是否为另一个集合的子集。
  • 另外,子集操作符(<=) 和真子集操作符(<)也可以判断一个集合是否为另一个集合的子集。
举报

相关推荐

0 条评论