Cómo unir dos conjuntos en Python
-
A |= B
para unir dos conjuntos en Python -
A.update(B)
para unir dos conjuntos en Python -
A.union(B)
para unir dos conjuntos en Python -
reduce(operator.or_, [A, B])
para unir dos sets en Python
En este tutorial, introduciremos diferentes métodos para unir dos sets en Python.
A |= B
A.update(B)
A.union(B)
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}
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.
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 Facebook