如何在 Python 中连接两个集合

Jinku Hu 2023年1月30日
  1. 在 Python 中通过 A |= B 连接两个集合
  2. 在 Python 中通过 A.update(B) 连接两个集合
  3. 在 Python 中通过 A.union(B) 连接两个集合
  4. 在 Python 中通过 reduce(operator.or_, [A, B]) 连接两个集合
如何在 Python 中连接两个集合

在本教程中,我们将介绍不同的方法来在 Python 中连接两个集合

  1. A |= B
  2. A.update(B)
  3. A.union(B)
  4. reduce(operator.or_, [A, B])

在 Python 中通过 A |= B 连接两个集合

A |= B 将集合 B 的所有元素添加到集合 A 中。

>>> A = {4, 5, 6, 7}
>>> B = {6, 7, 8, 9}
>>> A |= B
>>> A
{4, 5, 6, 7, 8, 9}

在 Python 中通过 A.update(B) 连接两个集合

A.update(B) 方法与 A |= B 相同。它就地修改集合 A 的内容。

>>> A = ["a", "b", "c"]
>>> B = ["b", "c", "d"]
>>> A.update(B)
>>> A
["a", "b", "c", "d"]

在 Python 中通过 A.union(B) 连接两个集合

A.union(B) 返回集合 AB 的并集。它不会就地修改集合 A,而是会返回一个新集合。

>>> A = {4, 5, 6, 7}
>>> B = {6, 7, 8, 9}
>>> A.union(B)
{1, 2, 3, 4, 5, 6}
>>> A
{1, 2, 3, 4}

此方法跟 A | B 相同。

在 Python 中通过 reduce(operator.or_, [A, B]) 连接两个集合

operator.or_(A, B) 返回 AB 的按位的结果,或 AB 的并集,如果 AB 是集合的话。

reduce 在 Python 2.x 中或 Python 2.x 和 3.x 中的 functools.reduce 都将函数应用于可迭代项。

因此,reduce(operator.or_, [A, B])or 函数应用于 AB。它与 Python 表达式 A | B 相同。

>>> import operator
>>> from functools import reduce
>>> A = {4, 5, 6, 7}
>>> B = {6, 7, 8, 9}
>>> reduce(operator.or_, [A, B])
{4, 5, 6, 7, 8, 9}
注意

reduce 是 Python 2.x 的内置函数,但在 Python 3 中已弃用。

因此,我们需要使用 functools.reduce 来使代码在 Python 2 和 3 中兼容。

作者: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

DelftStack.com 创始人。Jinku 在机器人和汽车行业工作了8多年。他在自动测试、远程测试及从耐久性测试中创建报告时磨练了自己的编程技能。他拥有电气/电子工程背景,但他也扩展了自己的兴趣到嵌入式电子、嵌入式编程以及前端和后端编程。

LinkedIn Facebook

相关文章 - Python Set