Elenco l'intersezione in Python

Elenco l'intersezione in Python
Esistono molte variabili di oggetti in Python per archiviare una varietà di tipi di dati. IL elenco è una di queste variabili e può archiviare diversi tipi di dati per esigenze diverse. A volte, dobbiamo trovare elementi di dati comuni, non comuni o sia comuni che non comuni dagli elenchi multipli per scopi di programmazione. Python contiene diverse funzioni e operatori integrati in grado di eseguire questi tipi di attività per set di python. Trovare dati comuni dagli elenchi multipli è chiamato intersezione di elenco, ma non esiste una funzione operatore o integrata per elenchi come set per trovare le voci di dati comuni da più elenchi. Questo tutorial ti mostrerà come intersecare le liste in Python.

Intersezione

Prima di iniziare questo tutorial, il concetto di intersezione verrà spiegato. Di seguito, due sono riportati come esempio:

List1 = [4, 7, 23, 9, 6, 11]
List2 = [6, 5, 1, 20, 9, 7, 4, 3]

Dopo aver applicato l'intersezione, se il risultato viene archiviato in un altro elenco, forse chiamato List3, conterrà i seguenti dati.

List3 = [4, 6, 7, 9]

La rappresentazione grafica di List3 è mostrata di seguito:

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

L'esempio seguente mostra come è possibile intersecare due elenchi usando il impostato() metodo e il E operatore. Due elenchi, denominati List1 e List2, sono dichiarati qui. Entrambi questi elenchi contengono valori numerici. Il terzo elenco viene generato convertendo List1 ed Elenco 2 nel set tramite il set() metodo e applicazione dell'intersezione utilizzando il E operatore. Successivamente, i valori dei tre elenchi vengono stampati.

#!/usr/bin/env python3
# Definisce List1
List1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Definisce List2
List2 = [12, 9, 20, 78, 53, 8, 2, 30,31]
# Crea List3 intersecando List1 ed List2
list3 = elenco (set (list1) & set (list2))
# Print List1
print ("I valori di List1: \ n", list1)
# Print List2
Print ("I valori di List2: \ n", List2)
# Print List3
Print ("I valori di List3 dopo l'intersezione di List1 ed List2: \ n", List3)

Produzione

Il seguente output apparirà dopo aver eseguito lo script. Tre valori sono comuni ad entrambi gli elenchi. Questi valori sono 8, 9 e 20 e sono mostrati nel contenuto del terzo elenco.

Esempio 2: elenchi di intersezione tramite il metodo intersezione ()

Non esiste un metodo diretto e integrato per l'oggetto elenco per scoprire i valori di intersezione tra due elenchi. Tuttavia, il set ha un metodo integrato, chiamato intersezione(), Per scoprire i valori comuni tra i set. Una funzione personalizzata, denominata IntersectionLists (), è definito nel seguente script per scoprire i valori comuni tra i due elenchi. Una limitazione di questo set è che può contenere solo dati numerici. Una variabile di elenco può contenere vari tipi di stringa di dati, tra cui numerico, booleano, ecc. Nella sceneggiatura, List1 E List2 contenere tutti i dati di stringa inclusi e testo. Lo script stamperà tutti i valori di stringa e numerici comuni tra List1 E List2.

#!/usr/bin/env python3
# Definire la funzione per restituire l'intersezione di due elenchi
Def IntersectLists (List1, List2):
set di restituzione (List1).Intersezione (List2)
# Definisce List1
List1 = ['Hello', '7', '8', '10', '2']
# Definisce List2
List2 = ['8', '34', 'Hello', '2', '21', '1', 10]
"Chiama la funzione personalizzata per archiviare
Il risultato dell'intersezione di List1 ed List2
in elenco3 "
List3 = intersectList (List1, List2)
# Print List1
print ("I valori di List1: \ n", list1)
# Print List2
Print ("I valori di List2: \ n", List2)
# Print List3
Print ("I valori di List3 dopo l'intersezione di List1 ed List2: \ n", List3)

Produzione

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

Esempio 3: elenchi di intersezione tramite il metodo Loop

I due esempi precedenti mostrano l'intersezione dell'elenco utilizzando funzioni integrate. L'esempio seguente mostra l'intersezione dell'elenco senza alcuna funzione integrata. Questo può essere ottenuto usando il loop. Nello script sono dichiarati due elenchi di dati di testo. IL per Loop viene usato qui per scoprire i valori di testo comuni tra List1 E List2, e che sono archiviati nella variabile, List3. Successivamente, vengono stampati i valori di queste tre variabili di elenco.

#!/usr/bin/env python3
# Definisce List1
List1 = ['Farhan', 'Abir', 'Akash', 'Meena', 'Mazher']
# Definisce List2
List2 = ['Meena', 'Moyna', 'Nobel', 'Naher', 'Abir', 'Farheen'
# Trova l'intersezione utilizzando per loop e memorizza il risultato in List3
list3 = [valore per valore in elenco1 se valore in elenco2]
# Print List1
print ("I valori di List1: \ n", list1)
# Print List2
Print ("I valori di List2: \ n", List2)
# Print List3
Print ("I valori di List3 dopo l'intersezione di List1 ed List2: \ n", List3)

Produzione

Il seguente output apparirà dopo aver eseguito lo script. Qui, i valori di testo comuni dei due elenchi sono 'Abir' E 'Meena.'

Esempio 4: intersecando 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 La funzione viene utilizzata nello script per condurre l'intersezione tra List1 ed List2. Quando un elenco contiene uno o più elenchi come elenchi, allora l'elenco viene chiamato un elenco nidificato. Qui, List1 è un elenco semplice e List2 è un elenco nidificato, mentre List3 contiene i valori di intersezione di List1 E List2.

#!/usr/bin/env python3
# Definisci un elenco semplice
List1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Definisci un elenco nidificato
List2 = [[12, 9, 20], [78, 11, 53, 8], [2, 30, 31, 45]]
# Crea List3 intersecando List1 e List2 utilizzando Filter ()
list3 = [elenco (filtro (lambda n: n in list1, slist)) per slist in list2]
# Print List1
print ("I valori di List1: \ n", list1)
# Print List2
Print ("I valori di List2: \ n", List2)
# Print List3
Print ("I valori di List3 dopo l'intersezione di List1 ed List2: \ n", List3)

Produzione

Il seguente output apparirà dopo aver eseguito lo script. La variabile List2 contiene altri tre elenchi come elenchi di elenco. Quindi, il risultato mostra l'intersezione tra questi tre sotto-listi di List2 con List1.

Conclusione

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