0
点赞
收藏
分享

微信扫一扫

【Python入门教程】第51篇 不相交集

本篇我们介绍不相交集合的概念,以及如何使 isdisjoint() 方法判断两个集合是否不相交。

不相交集

如果两个集合没有任何共同的元素,它们就是不相交集(disjoint set)。也就是说,两个不相交的集合的交集为空集。

例如,集合 {1,3,5} 和 {2,4,6} 不相交,因为它们没有共同元素。

以下文氏图解释了不相交集的含义:

在这里插入图片描述
在 Python 中,使用集合的 isdisjoint() 方法判断两个集合是否为不相交集:

set_a.isdisjoint(set_b)

如果集合 set_a 和 set_b 不相交,isdisjoint() 方法返回 True;否则,返回 False。

isdisjoint() 方法支持任何类型的可遍历对象,而不仅仅是集合。如果我们将列表、元组或者字典传递给该方法,它会将参数转换为集合之后再进行判断。

isdisjoint() 方法示例

以下示例使用 isdisjoint() 方法判断集合 odd_numbers 和集合 even_numbers 是否为不相交集:

odd_numbers = {1, 3, 5}
even_numbers = {2, 4, 6}

result = odd_numbers.isdisjoint(even_numbers)

print(result)

输出结果如下:

True

集合 odd_numbers 和 even_numbers 没有共同的元素,因此 isdisjoint() 方法返回了 True。

以下示例使用 isdisjoint() 方法判断集合 letters 和集合 alphanumerics 是否为不想交集:

letters = {'A', 'B', 'C'}
alphanumerics = {'A', 1, 2}

result = letters.isdisjoint(alphanumerics)

print(result)

输出结果如下:

False

以上示例返回了 False,因为字母“A” 同时属于集合 alphanumerics 以及 letters。

以下示例使用 isdisjoint() 方法判断集合 letters 和数组 [1, 2, 3] 是否为不相交集:

letters = {'A', 'B', 'C'}
result = letters.isdisjoint([1, 2, 3])

print(result)

输出结果如下:

True

总结

  • 如果两个集合没有任何共同的元素,它们就是不相交集。
  • 集合的 isdisjoint() 方法用于判断两个集合是否为不相交集。
举报

相关推荐

0 条评论