HOWTO · Python

Ottieni la differenza nei set in Python

Questo tutorial dimostra come ottenere la differenza di set che significa elementi non comuni in due set in Python

Questo tutorial spiegherà i vari modi per trovare la differenza tra i due set in Python. Per differenza si intendono gli elementi che non sono comuni tra i due insiemi.

Per esempio:

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

La differenza tra questi due set dovrebbe essere 1,4,5,8.

Trova la differenza negli insiemi in Python usando il metodo set.symmetric_difference()

Il metodo set.symmetric_difference() prende un altro insieme come input e restituisce la differenza tra loro. Il codice di esempio seguente spiega come utilizzare set.symmetric_difference() per ottenere gli elementi che non sono comuni in entrambi i set e ottenere il set di differenze richiesto.

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

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

Produzione:

{1, 4, 5, 8}

Trova la differenza negli insiemi in Python usando il cicli for

Per trovare la differenza tra i due insiemi, possiamo usare il cicli for per iterare attraverso entrambi gli insiemi e controllare se c’è lo stesso elemento nell’altro insieme e aggiungerlo alla lista se sono unici. E gli elementi che esistono in entrambi gli insiemi verranno ignorati.

Codice di esempio:

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)

Produzione:

{8, 1, 4, 5}

Trova la differenza negli insiemi in Python usando l’operatore XOR

Un modo semplice per trovare la differenza tra gli insiemi è applicare l’operazione XOR su di essi, e questo eliminerà gli stessi elementi e restituirà solo gli elementi che non sono gli stessi in entrambi gli insiemi come richiesto.

Per implementarlo nel codice, possiamo usare l’operatore ^ tra due set per ottenere la differenza di set desiderata.

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

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

Produzione:

{1, 4, 5, 8}