Ottieni la differenza tra due elenchi in Python
-
Usa
set.difference()
per trovare la differenza tra due elenchi in Python -
Usa
set.symmetric_difference()
per trovare la differenza tra due elenchi in Python -
Usa la parola chiave
in
per trovare la differenza tra le due liste in Python -
Usa la libreria
NumPy
per trovare la differenza tra due elenchi in Python
Esistono molte operazioni eseguite su strutture di dati come elenchi, dizionari, tuple e array. In Python, queste strutture di dati sono utilizzate in quasi tutti i programmi. Una di queste strutture dati sono le liste in Python. Gli elenchi nella programmazione Python aiutano a memorizzare più di un elemento in una sola variabile. Scoprire la differenza tra due elenchi è un compito molto comune che svolge quasi tutti i programmatori.
Questo tutorial dimostrerà diversi modi per ottenere la differenza tra due elenchi in Python.
Usa set.difference()
per trovare la differenza tra due elenchi in Python
Il metodo set()
aiuta l’utente a convertire qualsiasi iterabile in una sequenza iterabile, chiamata anche set. Gli iterabili possono essere una lista, un dizionario o una tupla.
La funzione set.difference()
viene utilizzata per restituire la differenza tra i due insiemi. Questa funzione elimina sostanzialmente gli elementi comuni in due insiemi.
list_1 = [5, 10, 15, 20, 25, 30]
list_2 = [10, 20, 30, 40, 50, 60]
difference_1 = set(list_1).difference(set(list_2))
difference_2 = set(list_2).difference(set(list_1))
list_difference = list(difference_1.union(difference_2))
print(list_difference)
Produzione:
[50, 5, 40, 25, 60, 15]
Per questo metodo, il primo passaggio consiste nel memorizzare i due elenchi in due variabili. La funzione set()
viene utilizzata per convertire queste liste in insiemi. Nello stesso passaggio, viene utilizzata la funzione set.difference()
per trovare la differenza tra i due insiemi. Nota che la variabile difference_1
ottiene gli elementi in list_1
e non in list_2
.
La variabile difference_2
ottiene gli elementi che sono in list_2
e non in list_1
. Successivamente, la funzione union
viene utilizzata per ottenere tutti gli elementi dalle variabili difference_1
e difference_2
. Inoltre, la funzione list()
viene utilizzata per convertire nuovamente entrambi gli insiemi in elenchi. Infine, viene stampato la lista risultante.
Usa set.symmetric_difference()
per trovare la differenza tra due elenchi in Python
Qui, il metodo set()
viene utilizzato per convertire inizialmente entrambe le liste in insiemi.
Il metodo symmetric_difference()
viene utilizzato per restituire gli elementi che si trovano nel primo set o nel secondo set. Questo metodo non restituisce l’intersezione come gli elementi comuni dei due insiemi.
list_1 = [5, 10, 15, 20, 25, 30]
list_2 = [10, 20, 30, 40, 50, 60]
set_difference = set(list_1).symmetric_difference(set(list_2))
list_difference = list(set_difference)
print(list_difference)
Produzione:
[5, 40, 15, 50, 25, 60]
Il metodo set()
viene utilizzato anche per convertire le liste in insiemi. Dopo aver ottenuto la differenza, la funzione list()
viene utilizzata per ottenere e convertire il set finale, come convertire nuovamente set_difference
in una lista.
Usa la parola chiave in
per trovare la differenza tra le due liste in Python
La parola chiave in
aiuta a verificare se un elemento è presente o meno in una sequenza iterabile come una lista.
In questo metodo viene utilizzata anche la funzione append()
. append()
è usato per aggiungere elementi a una lista esistente; non crea una nuova lista, ma modifica la lista iniziale aggiungendovi elementi.
list_1 = [5, 10, 15, 20, 25, 30]
list_2 = [10, 20, 30, 40, 50, 60]
list_difference = []
for element in list_1:
if element not in list_2:
list_difference.append(element)
print(list_difference)
Produzione:
[5, 15, 25]
In questo metodo, inizializziamo prima la lista finale che deve essere stampata con zero elementi. Quindi usiamo un bucle for per iniziare l’iterazione con la prima lista, che è list_1
. Successivamente, utilizziamo la parola chiave not in
per verificare se un elemento è nella seconda lista o meno.
Infine, usiamo il metodo append()
per aggiungere gli elementi che non sono nella seconda lista alla lista iniziale, cioè list_difference
. Lo svantaggio di questo metodo, tuttavia, è che non restituisce gli elementi del secondo elenco.
Per rendere questo metodo più semplice, usa la comprensione delle liste. La comprensione delle liste è un metodo che aiuta a creare un nuovo elenco con gli elementi di un elenco esistente.
list_1 = [5, 10, 15, 20, 25, 30]
list_2 = [10, 20, 30, 40, 50, 60]
list_difference = [element for element in list_1 if element not in list_2]
print(list_difference)
Produzione:
[5, 15, 25]
Usa la libreria NumPy
per trovare la differenza tra due elenchi in Python
La libreria NumPy
di Python è una libreria molto usata. Questa libreria aiuta l’utente a svolgere attività in array, matrici e algebra lineare.
In questo metodo, vengono utilizzate tre funzioni della libreria NumPy
per ottenere la differenza tra due elenchi. Queste tre funzioni sono np.array()
, np.setdiff1d()
e np.concatenate()
.
Un array è la struttura dati primaria della libreria NumPy
. La funzione np.array()
ti aiuta a creare un array e ti aiuta a lavorare con loro.
La funzione np.setdiff1d()
ti aiuta a trovare la differenza impostata tra due array e a restituire i valori che si trovano nel primo array e non nel secondo array.
La funzione np.concatenate
viene utilizzata per combinare due o più array NumPy
insieme. Controlla l’esempio qui sotto:
import numpy as np
list_1 = [5, 10, 15, 20, 25, 30]
list_2 = [10, 20, 30, 40, 50, 60]
array_1 = np.array(list_1)
array_2 = np.array(list_2)
difference_1 = np.setdiff1d(array_1, array_2)
difference_2 = np.setdiff1d(array_2, array_1)
list_difference = np.concatenate((difference_1, difference_2))
print(list(list_difference))
Produzione:
[5, 15, 25, 40, 50, 60]
Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.
LinkedInArticolo correlato - Python List
- Converti un dizionario in una lista in Python
- Rimuovi i duplicati dall'lista in Python
- Rimuovi tutte le occorrenze di un elemento da una lista in Python
- Ottieni la media di una lista in Python
- Qual è la differenza tra i metodi di elencazione, aggiungere ed estendere
- Come convertire una lista in stringa in Python