Obtenha a diferença em conjuntos em Python

Muhammad Waiz Khan 10 outubro 2023
  1. Encontre a diferença em conjuntos em Python usando o método set.symmetric_difference()
  2. Encontre a diferença em conjuntos em Python usando o loop for
  3. Encontre a diferença em conjuntos em Python usando o operador XOR
Obtenha a diferença em conjuntos em Python

Este tutorial explicará as várias maneiras de encontrar a diferença entre os dois conjuntos em Python. Por diferença, queremos dizer os elementos que não são comuns entre os dois conjuntos.

Por exemplo:

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

A diferença entre esses dois conjuntos deve ser 1,4,5,8.

Encontre a diferença em conjuntos em Python usando o método set.symmetric_difference()

O método set.symmetric_difference() recebe outro conjunto como entrada e retorna a diferença entre eles. O código de exemplo a seguir explica como usar set.symmetric_difference() para obter os elementos que não são comuns em ambos os conjuntos e obter o conjunto de diferenças necessário.

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

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

Resultado:

{1, 4, 5, 8}

Encontre a diferença em conjuntos em Python usando o loop for

Para encontrar a diferença entre os dois conjuntos, podemos usar o loop for para iterar por ambos os conjuntos e verificar se existe o mesmo elemento no outro conjunto e adicioná-lo à lista se eles forem únicos. E os elementos que existem em ambos os conjuntos serão ignorados.

Código de exemplo:

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)

Resultado:

{8, 1, 4, 5}

Encontre a diferença em conjuntos em Python usando o operador XOR

Uma maneira simples de encontrar a diferença entre os conjuntos é aplicar a operação XOR neles, e isso eliminará os mesmos elementos e retornará apenas os elementos que não são iguais em ambos os conjuntos, conforme necessário.

Para implementar isso no código, podemos usar o operador ^ entre dois conjuntos para obter a diferença de conjunto desejada.

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

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

Resultado:

{1, 4, 5, 8}

Artigo relacionado - Python Set