【Python入门教程】第45篇 集合的并集

本篇我们介绍一下如何利用集合的 union() 方法或者并集操作符(|)将两个或多个集合进行合并。

集合的并集

两个集合的并集结果是一个新的集合,包含了这两个集合中不重复的所有元素。

以下是两个集合:

s1 = {'Python', 'Java'}
s2 = {'C#', 'Java'}

集合 s1 和 s2 的并集如下:

{'Java','Python', 'C#'}

通常我们使用文氏图(Venn diagram)解释集合的并集。例如:

【Python入门教程】第45篇 集合的并集

union() 方法

使用 union() 方法合并集合的语法如下:

new_set = set.union(another_set, ...)

以下示例使用 union() 方法合并集合 s1 和 s2:

s1 = {'Python', 'Java'}
s2 = {'C#', 'Java'}

s = s1.union(s2)

print(s)

输出结果如下:

{'Python', 'Java', 'C#'}

并集操作符

合并两个集合的另一种方法就是使用并集操作符(|):

new_set = set1 | set2

并集操作符返回了集合 set1 和 set2 中不重复的所有元素。

以下示例使用并集操作符合并集合 s1 和 s2:

s1 = {'Python', 'Java'}
s2 = {'C#', 'Java'}

s = s1 | s2

print(s)

输出结果如下:

{'Java', 'C#', 'Python'}

以下示例返回了多个集合的并集:

s1 = {1, 2, 3}
s2 = {2, 3, 4}
s2 = {3, 4, 5}

s = s1 | s2 | s3

print(s)


输出结果如下:

```python
{1, 2, 3, 4, 5}

两种方法比较

事实上,union() 方法支持一个或多个可遍历对象作为参数,将它们转换为集合之后执行合并操作。

以下示例使用 union() 方法将一个集合与列表进行合并:

rates = {1, 2, 3}
ranks = [2, 3, 4]

ratings = rates.union(ranks)

print(ratings)

输出结果如下:

{1, 2, 3, 4}

另一方面,并集操作符(|)只能对集合进行操作,不支持其他的可遍历对象。以下示例返回了一个错误:

rates = {1, 2, 3}
ranks = [2, 3, 4]

ratings = rates | ranks
TypeError: unsupported operand type(s) for |: 'set' and 'list'

总之,union() 方法支持可遍历对象,并集操作符只支持集合。

总结

  • 集合的并集结果包含了两个集合中不重复的所有元素。
  • 集合的 union() 方法和并集操作符(|)都可以用于合并两个或多个集合。
  • union() 方法支持可遍历对象,并集操作符只支持集合。
上一篇:2022春每日一题:Day 9


下一篇:CSP2021-J2/S2