Obtener la diferencia de conjuntos en Python

Muhammad Waiz Khan 10 octubre 2023
  1. Encontrar la diferencia en conjuntos en Python usando el método set.symmetric_difference()
  2. Encontrar la diferencia entre conjuntos en Python usando el bucle for
  3. Encontrar la diferencia entre conjuntos en Python usando el operador XOR
Obtener la diferencia de conjuntos en Python

Este tutorial explicará las distintas formas de encontrar la diferencia entre dos conjuntos en Python. Con la diferencia, nos referimos a los elementos que no son comunes entre los dos conjuntos.

Por ejemplo:

set1 = set([1, 2, 3, 4, 5, 6])
set2 = set([2, 3, 6, 8])

La diferencia entre estos dos conjuntos debería ser 1,4,5,8.

Encontrar la diferencia en conjuntos en Python usando el método set.symmetric_difference()

El método set.symmetric_difference() toma otro conjunto como entrada y devuelve la diferencia entre ellos. El siguiente código de ejemplo explica cómo utilizar set.symmetric_difference() para obtener los elementos que no son comunes en ambos conjuntos y obtener el conjunto de diferencia requerido.

set1 = set([1, 2, 3, 4, 5, 6])
set2 = set([2, 3, 6, 8])

diff_set = set1.symmetric_difference(set2)
print(diff_set)

Producción :

{1, 4, 5, 8}

Encontrar la diferencia entre conjuntos en Python usando el bucle for

Para encontrar la diferencia entre los dos conjuntos, podemos utilizar el bucle for para iterar por ambos conjuntos y comprobar si existe el mismo elemento en el otro conjunto y añadirlo a la lista si son únicos. Y los elementos que existan en ambos conjuntos serán ignorados.

Código de ejemplo:

set1 = set([1, 2, 3, 4, 5, 6])
set2 = set([2, 3, 6, 8])

temp1 = [x for x in set1 if x not in set2]
temp2 = [x for x in set2 if x not in set1]
diff_set = set(temp1 + temp2)
print(diff_set)

Producción :

{8, 1, 4, 5}

Encontrar la diferencia entre conjuntos en Python usando el operador XOR

Una forma sencilla de encontrar la diferencia entre los conjuntos es aplicar la operación XOR sobre ellos, y esto eliminará los elementos iguales y sólo devolverá los elementos que no sean iguales en ambos conjuntos como se requiere.

Para implementar esto en código, podemos utilizar el operador ^ entre dos conjuntos para obtener la diferencia de conjuntos deseada.

set1 = set([1, 2, 3, 4, 5, 6])
set2 = set([2, 3, 6, 8])

diff_set = set(set1) ^ set(set2)
print(diff_set)

Producción :

{1, 4, 5, 8}

Artículo relacionado - Python Set