logo

Pitone | Differenza tra due elenchi

Nella programmazione Python, confrontare due elenchi è un'attività comune con molteplici approcci. Questo articolo esplora diversi metodi per ottenere la dissomiglianza tra due elenchi, migliorando la tua competenza nella gestione degli elenchi e nel confronto dei dati in Pitone . Unisciti a noi in questo viaggio approfondito nelle varie strategie per discernere le differenze tra gli elenchi.

Esempio



  Input:   list1 = [10, 15, 20, 25, 30, 35, 40] list2 = [25, 40, 35]   Output:   [10, 15, 20, 30]   Explanation:   resultant list = list1 - list2>

Nota: Quando hai più elementi uguali, questo non funzionerebbe. In tal caso, questo codice rimuoverà semplicemente gli stessi elementi.
In tal caso, puoi mantenere il conteggio di ciascun elemento in entrambi gli elenchi.

Modi per confrontare due elenchi in Python

Esistono vari modi per confrontare due elenchi in Python. Qui stiamo discutendo alcuni metodi generalmente utilizzati per confrontare due elenchi in Python che stiamo seguendo.

  • Utilizzare nel metodo
  • Utilizzo della comprensione delle liste
  • Utilizzo impostato() Funzione
  • Utilizzo Insensibile
  • Utilizzando cerniera lampo() Funzione
  • Contare le occorrenze utilizzando Contatore

Python nella parola chiave per confrontare due elenchi in Python

In questo esempio il codice scorre gli elementi nella lista 'li1' e aggiunge ogni elemento a 'temp3' se non è presente nella lista 'li2'. Il risultato finale in 'temp3' contiene elementi di 'li1' che non sono presenti in 'li2'.



Python3






li1>=> [>10>,>15>,>20>,>25>,>30>,>35>,>40>]> li2>=> [>25>,>40>,>35>]> temp3>=> []> for> element>in> li1:> >if> element>not> in> li2:> >temp3.append(element)> print>(temp3)>

>

>

Produzione

[10, 15, 20, 30]>

Differenza tra due elenchi in Python utilizzando una comprensione di elenco

In questo esempio il codice crea un set 's' dagli elementi della lista 'li2' e quindi genera una nuova lista 'temp3' contenente elementi della lista 'li1' che non sono presenti nel set 's'. Infine, stampa gli elementi in 'temp3'.

Python3




mamta kulkarni
li1>=> [>10>,>15>,>20>,>25>,>30>,>35>,>40>]> li2>=> [>25>,>40>,>35>]> s>=> set>(li2)> temp3>=> [x>for> x>in> li1>if> x>not> in> s]> print>(temp3)>

>

>

Produzione

[10, 15, 20, 30]>

Trova la differenza tra due elenchi in Python usando set()

In questo metodo, convertiamo esplicitamente gli elenchi in insiemi e poi li riduciamo semplicemente l'uno dall'altro utilizzando l'operatore di sottrazione. Per ulteriori referenze visita sul set Imposta in Python . È una tecnica simile a quella che abbiamo usato in precedenza. L'unica differenza è che abbiamo sostituito i cicli nidificati con il file comprensione delle liste sintassi.

Python3




li1>=> [>10>,>15>,>20>,>25>,>30>,>35>,>40>]> li2>=> [>25>,>40>,>35>]> s>=> set>(li2)> temp3>=> [x>for> x>in> li1>if> x>not> in> s]> print>(temp3)>

>

>

Giochi iMessage per Android

Produzione

[10, 15, 20, 30]>

Usa Numpy per Confronta due elenchi in Python

IL numpy.concatenate() la funzione concatena una sequenza di array lungo un asse esistente. In questo esempio il codice utilizza NumPy per creare array `li1` e `li2`, trova le differenze impostate tra loro (`dif1` e `dif2`) e concatena queste differenze in un unico elenco (`temp3`), infine stampando il risultato.

Python3




import> numpy as np> li1>=> np.array([>10>,>15>,>20>,>25>,>30>,>35>,>40>])> li2>=> np.array([>25>,>40>,>35>])> dif1>=> np.setdiff1d(li1, li2)> dif2>=> np.setdiff1d(li2, li1)> temp3>=> np.concatenate((dif1, dif2))> print>(>list>(temp3))>

>

>

Produzione

[10, 15, 20, 30]>

Confronta due elenchi in Python utilizzando la funzione zip()

In questo esempio il codice confronta gli elementi corrispondenti di due elenchi, li1 e li2, e crea un elenco di valori booleani che indicano se gli elementi sono uguali. La funzione 'all' controlla se tutti gli elementi nell'elenco dei risultati sono True.

Python3


idea intelligente vs eclissi



li1>=> [>10>,>15>,>20>]> li2>=> [>25>,>40>,>35>]> result>=> [a>=>=> b>for> a, b>in> zip>(li1, li2)]> print>(>all>(result))>

>

>

Produzione

False>

Confronta due elenchi utilizzando il conteggio delle occorrenze utilizzando il contatore

In questo esempio il codice utilizza la classe 'Counter' del modulo 'collections' per creare contatori di frequenza per due elenchi, 'li1' e 'li2'. Quindi confronta i contatori per verificare se le liste hanno gli stessi elementi con le stesse frequenze, assegnando il risultato a 'are_lists_equal'.

Python3




from> collections>import> Counter> li1>=> [>10>,>15>,>20>,>25>,>30>,>35>,>40>]> li2>=> [>25>,>40>,>35>]> counter1>=> Counter(li1)> counter2>=> Counter(li2)> are_lists_equal>=> counter1>=>=> counter2> print>(are_lists_equal)>

>

>

Produzione

False>