Elenca intersezioni in Python

List Intersection Python

Esistono molte variabili oggetto in Python per memorizzare una varietà di tipi di dati. Il elenco è una di queste variabili e può memorizzare diversi tipi di dati per esigenze diverse. A volte, è necessario trovare elementi di dati comuni, non comuni o entrambi comuni e non comuni dagli elenchi multipli per scopi di programmazione. Python contiene diverse funzioni e operatori incorporati che possono eseguire questi tipi di attività per i set Python. La ricerca di dati comuni da più elenchi è chiamata intersezione di elenchi, ma non esiste un operatore o una funzione integrata per elenchi come gli insiemi per trovare gli elementi di dati comuni da più elenchi. Questo tutorial ti mostrerà come intersecare gli elenchi in Python.

Intersezione

Prima di iniziare questo tutorial, verrà spiegato il concetto di intersezione. Di seguito, ne vengono forniti due a titolo di esempio:



Lista1= [4, 7, 2. 3, 9, 6, undici]
Elenco2= [6, 5, 1, venti, 9, 7, 4, 3]

Dopo aver applicato l'intersezione, se il risultato è memorizzato in un altro elenco, magari denominato List3, conterrà i seguenti dati.



Elenco3= [4, 6, 7, 9]

La rappresentazione grafica di List3 è mostrata di seguito:



Esempio 1: intersezione di elenchi tramite il metodo set()

L'esempio seguente mostra come è possibile intersecare due elenchi utilizzando il set() metodo e il & operatore. Qui vengono dichiarate due liste, denominate list1 e list2. Entrambi questi elenchi contengono valori numerici. La terza lista viene generata convertendo lista1 e lista 2 nell'insieme tramite l'insieme () metodo e applicando l'intersezione usando il & operatore. Successivamente vengono stampati i valori delle tre liste.

#!/usr/bin/env python3
# Definisci lista1
list1= [22, 8, Quattro cinque, undici, 3. 4, 9, venti, 7]
# Definisci lista2
lista2= [12, 9, venti, 78, 53, 8, 2, 30,31]
# Crea list3 intersecando list1 e list2
lista3= elenco(set(list1)&set(lista2))
# Stampa lista1
Stampa('I valori di lista1: ',list1)
# Stampa lista2
Stampa('I valori di lista2: ',lista2)
# Stampa lista3
Stampa('I valori di list3 dopo l'intersezione di list1 e list2: ',lista3)

Produzione



Il seguente output apparirà dopo aver eseguito lo script. Tre valori sono comuni a entrambe le liste. Questi valori sono 8, 9 e 20 e sono mostrati nel contenuto del terzo elenco.

Esempio 2: elenchi intersecanti tramite il metodo intersezione()

Non esiste un metodo integrato diretto per l'oggetto elenco per scoprire i valori di intersezione tra due elenchi. Tuttavia, il set ha un metodo integrato, denominato intersezione() , per scoprire i valori comuni tra gli insiemi. Una funzione personalizzata, denominata liste intersezione() , è definito nello script seguente per trovare i valori comuni tra le due liste. Una limitazione di questo set è che può contenere solo dati numerici. Una variabile di elenco può contenere vari tipi di stringa di dati, inclusi numerici, booleani, ecc. Nello script, list1 e lista2 contenere tutti i dati di stringa inclusi e testo. Lo script stamperà tutte le stringhe comuni e i valori numerici tra list1 e lista2 .

#!/usr/bin/env python3

# Definire la funzione per restituire l'intersezione di due liste
defintersectListe(list1,lista2):
Restituzione set(list1).intersezione(lista2)

# Definisci lista1
list1= ['Ciao','7','8','10','2']
# Definisci lista2
lista2= ['8','3. 4','Ciao','2','ventuno','1',10]
''' Chiama la funzione personalizzata per memorizzare
il risultato dell'intersezione di lista1 e lista2
nella lista3'''

lista3=intersectListe(list1,lista2)
# Stampa lista1
Stampa('I valori di lista1: ',list1)
# Stampa lista2
Stampa('I valori di lista2: ',lista2)
# Stampa lista3
Stampa('I valori di list3 dopo l'intersezione di list1 e list2: ',lista3)

Produzione

Il seguente output apparirà dopo aver eseguito lo script. Qui, i valori comuni tra i due elenchi sono '2', '8' e 'Ciao'.

Esempio 3: intersezione di elenchi tramite il metodo loop

I due esempi precedenti mostrano l'intersezione di elenchi utilizzando funzioni integrate. L'esempio seguente mostra l'intersezione di elenchi senza alcuna funzione incorporata. Ciò può essere ottenuto utilizzando il ciclo. Nello script sono dichiarati due elenchi di dati di testo. Il per loop viene utilizzato qui per scoprire i valori di testo comuni tra list1 e lista2, e che sono memorizzati nella variabile, lista3 . Successivamente, vengono stampati i valori di queste tre variabili di elenco.

#!/usr/bin/env python3

# Definisci lista1
list1= ['Farhan','Abir','Akasha','Meena','Mazher']
# Definisci lista2
lista2= ['Meena','Moyna','Nobel','Più vicino','Abir','Farheen']
# Trova l'intersezione usando il ciclo for e memorizza il risultato in list3
lista3= [valorepervaloreinlist1Sevaloreinlista2]

# Stampa lista1
Stampa('I valori di lista1: ',list1)
# Stampa lista2
Stampa('I valori di lista2: ',lista2)
# Stampa lista3
Stampa('I valori di list3 dopo l'intersezione di list1 e list2: ',lista3)

Produzione

Il seguente output apparirà dopo aver eseguito lo script. Qui, i valori di testo comuni delle due liste sono 'Abir' e 'Meena.'

Esempio 4: intersezione di elenchi semplici e nidificati tramite il metodo filter()

L'esempio seguente mostra l'intersezione tra un elenco semplice e un elenco nidificato. Il filtro() metodo e lambda vengono utilizzate nello script per condurre l'intersezione tra lista1 e lista2. Quando un elenco contiene uno o più elenchi come elementi dell'elenco, l'elenco viene chiamato elenco nidificato. Qui, list1 è un semplice elenco, e lista2 è un elenco annidato, mentre lista3 contiene i valori di intersezione di list1 e lista2 .

#!/usr/bin/env python3

# Definisci una semplice lista
list1= [22, 8, Quattro cinque, undici, 3. 4, 9, venti, 7]
# Definisci un elenco annidato
lista2= [[12, 9, venti], [78, undici, 53, 8], [2, 30, 31, Quattro cinque]]
# Crea list3 intersecando list1 e list2 usando filter()
lista3= [elenco(filtro(lambdan: ninlist1,lista)) perlistainlista2]

# Stampa lista1
Stampa('I valori di lista1: ',list1)
# Stampa lista2
Stampa('I valori di lista2: ',lista2)
# Stampa lista3
Stampa('I valori di list3 dopo l'intersezione di list1 e list2: ',lista3)

Produzione

Il seguente output apparirà dopo aver eseguito lo script. La variabile list2 contiene altri tre elenchi come elementi di elenco. Quindi, il risultato mostra l'intersezione tra queste tre sottoliste di lista2 con lista1.

Conclusione

L'intersezione di elenchi è un modo utile per trovare i valori comuni tra gli elenchi che contengono un numero elevato di elementi dell'elenco. In questo tutorial vengono mostrati i metodi per eseguire l'intersezione di elenchi con e senza funzioni integrate. Dopo aver letto questo articolo, il concetto di intersezione di elenchi dovrebbe essere chiaro e dovresti essere in grado di applicare l'intersezione di elenchi nel tuo script seguendo qualsiasi modo mostrato in questo tutorial.