在 Python 中检查一个集合是否是另一个集合的子集

Manav Narula 2023年1月30日
  1. 在 Python 中使用 <= 检查一个集合是否是另一个集合的子集
  2. 在 Python 中使用 issubset() 函数检查一个集合是否是另一个集合的子集
  3. 在 Python 中使用 all() 函数检查一个集合是否是另一个集合的子集
  4. 结论
在 Python 中检查一个集合是否是另一个集合的子集

在数学中,我们有一组表示数字、变量等数学对象的集合。它们可以有一个不同的子集,另一个集合包含另一个集合的所有元素(称为超集)。

在 Python 中,我们有 set 对象表示集合并执行不同的集合相关操作。它是不包含重复元素的项目的无序集合。

本教程将讨论在 Python 中验证一个集合是另一个集合的子集。

在 Python 中使用 <= 检查一个集合是否是另一个集合的子集

在 Python 中,我们可以对集合进行不同的数学比较。 <= 运算符可以检查一个集合是否是 Python 中另一个集合的子集。

例子:

s1 = {1, 3}
s2 = {5, 6, 8, 1, 3, 4}
print(s1 <= s2)

输出:

True

我们可以使用 set() 函数将其他可迭代对象显式转换为集合。这个函数在处理列表等其他对象时很有帮助,我们想检查一个对象是否包含另一个对象的元素。

请记住,重复的元素会在集合中被删除。

请参阅下面的代码。

s1 = [1, 3]
s2 = [5, 6, 8, 1, 3, 4]
print(set(s1) <= set(s2))

输出:

True

在 Python 中使用 issubset() 函数检查一个集合是否是另一个集合的子集

issubset() 函数检查一个集合是否是另一个集合的子集。如果另一个 iterable 被传递给这个函数,它会临时将它转换为一个集合并相应地返回 True 或 False。

请参阅下面的代码。

s1 = {1, 3}
s2 = {5, 6, 8, 1, 3, 4}
print(s1.issubset(s2))

输出:

True

在 Python 中使用 all() 函数检查一个集合是否是另一个集合的子集

all() 函数接受一个可迭代对象,如果该对象的所有元素都为 True,则返回 True。我们可以遍历一个列表并使用 in 运算符比较每个元素以检查它是否存在于另一个列表中。

如果所有元素都返回 True,那么 all() 函数将返回 True,确认列表 1 是列表 2 的子集;否则,它返回 False。

我们在下面的代码中实现了这一点。

s1 = {1, 3}
s2 = {5, 6, 8, 1, 3, 4}
ch = [i in s2 for i in s1]
print(all(ch))

输出:

True

结论

最后,我们已经讨论了如何在 Python 中验证一个集合是另一个集合的子集。前两种方法涉及集合操作。

<= 运算符和 issubset() 函数直接返回 True 或 False。最后一种方法是分别检查所有元素,然后给出结果。

作者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

相关文章 - Python Set