如何在 Python 中連線兩個集合
-
在 Python 中通過
A |= B
連線兩個集合 -
在 Python 中通過
A.update(B)
連線兩個集合 -
在 Python 中通過
A.union(B)
連線兩個集合 -
在 Python 中通過
reduce(operator.or_, [A, B])
連線兩個集合
在本教程中,我們將介紹不同的方法來在 Python 中連線兩個集合。
A |= B
A.update(B)
A.union(B)
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)
返回集合 A
和 B
的並集。它不會就地修改集合 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)
返回 A
和 B
的按位或
的結果,或 A
和 B
的並集,如果 A
和 B
是集合的話。
reduce
在 Python 2.x 中或 Python 2.x 和 3.x 中的 functools.reduce
都將函式應用於可迭代項。
因此,reduce(operator.or_, [A, B])
將 or
函式應用於 A
和 B
。它與 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 中相容。
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn