Pitone

Elenca intersezioni in Python

Elenca intersezioni in 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, abbiamo bisogno di 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 i set 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, 23, 9, 6, 11]
Lista2 = [6, 5, 1, 20, 9, 7, 4, 3]

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

Lista3 = [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 impostato() 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
lista1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Definisci lista2
lista2 = [12, 9, 20, 78, 53, 8, 2, 30,31]
# Crea list3 intersecando list1 e list2
lista3 = lista(set(lista1) & set(lista2))
# Stampa lista1
print("I valori di lista1:\n",lista1)
# Stampa lista2
print("I valori di lista2:\n",lista2)
# Stampa lista3
print("I valori di lista3 dopo l'intersezione di lista1 e lista2:\n", 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 nel seguente script per scoprire 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 stringhe di dati, inclusi numerici, booleani, ecc. Nella sceneggiatura, list1 e lista2 contenere tutti i dati 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
def intersectListe(lista1,lista2):
set di ritorno (lista1).intersezione (lista2)
 
# Definisci lista1
lista1 = ['Ciao','7','8','10','2']
# Definisci lista2
lista2 = ['8','34','Ciao','2','21','1',10]
"Chiama la funzione personalizzata per memorizzare
il risultato dell'intersezione di lista1 e lista2
nella lista3"
lista3 = intersectListe(lista1, lista2)
# Stampa lista1
print("I valori di lista1:\n",lista1)
# Stampa lista2
print("I valori di lista2:\n",lista2)
# Stampa lista3
print("I valori di lista3 dopo l'intersezione di lista1 e lista2:\n", 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 built. 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
lista1 = ['Farhan','Abir','Akash','Meena','Mazher']
# Definisci lista2
list2 = ['Meena','Moyna','Nobel','Naher','Abir','Farheen']
# Trova l'intersezione usando il ciclo for e memorizza il risultato in list3
lista3 = [valore per valore in lista1 se valore in lista2]
 
# Stampa lista1
print("I valori di lista1:\n",lista1)
# Stampa lista2
print("I valori di lista2:\n",lista2)
# Stampa lista3
print("I valori di lista3 dopo l'intersezione di lista1 e lista2:\n", 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 annidato. Il filtro() metodo e lambda vengono utilizzate nello script per condurre l'intersezione tra list1 e list2. 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
lista1 = [22, 8, 45, 11, 34, 9, 20, 7]
# Definisci un elenco annidato
lista2 = [[12, 9, 20], [78, 11, 53, 8], [2, 30, 31, 45]]
# Crea list3 intersecando list1 e list2 usando filter()
lista3 = [lista(filtro(lambda n: n in lista1, lista)) per lista in lista2]
 
# Stampa lista1
print("I valori di lista1:\n",lista1)
# Stampa lista2
print("I valori di lista2:\n",lista2)
# Stampa lista3
print("I valori di lista3 dopo l'intersezione di lista1 e lista2:\n", 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 sottoelenchi 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. 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 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.

Come installare League Of Legends su Ubuntu 14.04
Se sei un fan di League of Legends, questa è un'opportunità per testare League of Legends. Nota che LOL è supportato su PlayOnLinux se sei un utente L...
Installa l'ultimo gioco di strategia OpenRA su Ubuntu Linux
OpenRA è un motore di gioco di strategia in tempo reale gratuito/libero che ricrea i primi giochi di Westwood come il classico Command & Conquer: Red ...
Installa l'ultimo Dolphin Emulator per Gamecube e Wii su Linux
L'emulatore Dolphin ti consente di giocare ai giochi Gamecube e Wii scelti su Personal Computer Linux (PC). Essendo un emulatore di giochi liberament...