Python で 2つのセットを結合する方法

  1. Python の 2つのセットを結合する A | = B
  2. Python の 2つのセットを結合する A.update(B)
  3. Python で 2つのセットを結合する A.union(B)
  4. Python で 2つのセットを結合する reduce(operator.or_、[A、B])

このチュートリアルでは、2つの [Python のセット]を結合するさまざまな方法を紹介します(/ja/tutorial/python-3-basic-tutorial/data-type-sets/)。

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

Python の 2つのセットを結合する 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 の 2つのセットを結合する 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 で 2つのセットを結合する 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 で 2つのセットを結合する reduce(operator.or_、[A、B])

operator.or_(A、B) は、ビット単位の ABor、または集合の和集合 ABが設定されている場合、AB`。

Python 2.x の reduce または Python 2.x と 3.x の両方の functools.reduce(reduce(operator.or_、[A、B])) は iterable のアイテムに関数を適用します。

したがって、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 でコードの互換性を確保する必要があります。

comments powered by Disqus