HOWTO · Python

Cómo unir dos conjuntos en Python

Este artículo del tutorial introduce cómo unir dos conjuntos en Python.

En este tutorial, introduciremos diferentes métodos para unir dos sets en Python.

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

A |= B para unir dos conjuntos en Python

A |= B añade todos los elementos del conjunto B al conjunto A.

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

A.update(B) para unir dos conjuntos en Python

El método A.update(B) es idéntico al A |= B. Modifica el conjunto A en su lugar.

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

A.union(B) para unir dos conjuntos en Python

A.union(B) devuelve la unión de los conjuntos A y B. No modifica el conjunto A en su lugar, pero devuelve un nuevo conjunto.

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

Es idéntico a A y B.

reduce(operator.or_, [A, B]) para unir dos sets en Python

operador.or_(A, B) devuelve el bitwiser or de A y B, o unión de conjuntos A y B si A y B son conjuntos.

reduce en Python 2.x o functools.reduce tanto en Python 2.x como en 3.x aplica la función a los ítems de iterable.

Por lo tanto, reduce(operador.or_, [A, B]) aplica or función a A y B. Es idéntica a la expresión de 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}
Atención

reduce es la función incorporada en Python 2.x, pero está desaprobada en Python 3.

Por lo tanto, necesitamos usar functools.reduce para hacer los códigos compatibles en Python 2 y 3.