L'uso tempestivo della comprensione degli elenchi in Python può semplificare le operazioni iterative sugli elenchi. Oltre ad essere una singola riga, è più leggibile e viene eseguito in modo più efficiente.

Tuttavia, potresti agitarti se non sai come usarlo. Può anche essere più frustrante se non sai dove applicarlo nel tuo codice. Qui, ti mostreremo come usare la comprensione delle liste in Python con alcuni esempi di vita reale.

Che cos'è la comprensione delle liste in Python e come funziona?

Creare un elenco di elementi con Python è facile. Tuttavia, l'attività può diventare un po 'noiosa quando è necessario generare un elenco di valori o elementi da operazioni matematiche o su stringhe. Ecco quando usare la comprensione delle liste può tornare utile.

Un vantaggio dell'utilizzo della comprensione dell'elenco è che è possibile eseguire diverse operazioni in un unico elenco.

Al contrario, crea nuovi elementi e li aggiunge a un elenco vuoto che dichiara automaticamente. Quindi, invece di creare manualmente un elenco vuoto e aggiungervi un file

instagram viewer
per loop, la comprensione della lista di Python ti consente di farlo automaticamente senza che ti preoccupi di come viene fuori la nuova lista.

Il termine "comprensione della lista" deriva dal fatto che tutte le operazioni sono in una lista Python assegnata a una variabile nominata. Come affermato in precedenza, consente di eseguire operazioni specifiche in una singola riga di codice. Quindi aggiunge l'output a un nuovo elenco.

In definitiva, puoi anche utilizzare l'output di una comprensione dell'elenco per altri scopi. Questo perché impila le espressioni in variabili separate. Quindi puoi fare riferimento a loro in seguito.

Ad esempio, potresti esserlo raschiare un sito web con BeautifulSoup. Supponi di voler ottenere il nome di tutti gli articoli e i relativi prezzi dal sito web.

Decidi quindi di inserire i dati raschiati in un file CSV o Excel. La pratica ideale è raschiare il nome di tutti gli articoli e i relativi prezzi e posizionarli entrambi in colonne separate. Tuttavia, l'utilizzo di una comprensione dell'elenco, in tal caso, garantisce di avere i dati raschiati in variabili dedicate. È quindi possibile convertire tali variabili in un DataFrame Python in un secondo momento.

Guarda l'esempio qui sotto:

Prodotti = [i.text for i in bs.find_all ('name tags')]
Prezzo = [i.text for i in bs.find_all ('price tags')]

Una volta ottenute le variabili in loop, è possibile inserirle in colonne separate in un DataFrame utilizzando i Panda di Python.

Come creare e utilizzare una comprensione di elenchi in Python

Il per loop è un iteratore essenziale in una lista di comprensione. Generalmente, una comprensione dell'elenco in Python assume questo formato:

ComprehensionVariable = [espressione per gli elementi nell'elenco]

Stampa Comprensione Variabile restituisce il risultato del codice precedente come un elenco.

Tuttavia, fai attenzione a non confondere una lista di comprensione con un'apertura per ciclo continuo.

Ad esempio, facciamo utilizzare un ciclo aperto per per ottenere un elenco di tutti i multipli di tre compresi tra 1 e 30:

myList = []
per i nell'intervallo (1, 11):
myList.append (i * 3)
print (myList)
Uscita: [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]

Per confrontare i due, facciamo la stessa cosa usando una comprensione dell'elenco:

multiplesOf3 = [i * 3 for i nell'intervallo (1, 11)]
print (multiplesOf3)
Risultato = [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]

Puoi anche utilizzare una comprensione dell'elenco con le istruzioni condizionali. Il codice di esempio seguente stampa tutti i numeri dispari compresi tra 1 e 10:

oddNumbers = [i per i nell'intervallo (1, 11) se non i% 2 == 2]
print (oddNumbers)
Uscita = [1, 3, 5, 7, 9]

Ora, riscriviamo anche il codice sopra usando un file open per ciclo continuo:

myList = []
per i nell'intervallo (1, 11):
se non i% 2 == 0:
myList.append (i)
print (myList)
Uscita: [1, 3, 5, 7, 9]

Relazionato: Come aggiungere un elenco in Python

Una lista di comprensione accetta anche istruzioni if ​​annidate:

oddNumbers = [i per i nell'intervallo (1, 11) se non i% 2 == 0 se i <4]
print (oddNumbers)
Uscita: [1, 3]

Ci vuole anche un annidato per ciclo continuo:

someNums = [[i * 2 for i in range (1, 3)] for _ in range (4)]
print (someNums)

Puoi anche avere un semplice annidato per loop in una lista di comprensione:

someNums = [i * 2 for i in range (1, 3) for k in range (4)]

Puoi anche manipolare le stringhe con la comprensione delle liste di Python. Diamo un'occhiata a una comprensione del contatore di parole di seguito:

word = ["Questo è un tutorial per la comprensione di elenchi Python"]
wordCounter = [i.count ('') + 1 per i in word]
print (wordCounter)
Uscita: 7

Una lista di comprensione può anche accettare una funzione che esegue un'operazione specifica. Inseriamo una funzione moltiplicatore che ottiene numeri pari in una comprensione di liste per vedere come funziona:

Numeri = [4, 7, 8, 15, 17, 10]
def moltiplicatore (n):
multiplo = n * 2
restituisce più
multipleEven = [moltiplicatore (i) per i in Numbers if i% 2 == 0]
print (multipleEven)
Uscita: [8, 16, 20]

Puoi ancora scrivere il codice sopra in una singola funzione senza usare la comprensione. Ma una comprensione dell'elenco è utile quando è necessario eseguire più iterazioni e collocarle ciascuna in variabili separate.

Ad esempio, puoi eseguire un'altra operazione su n e hanno una variabile dedicata per esso. Modifichiamo la comprensione sopra per generare numeri pari da quelli dispari:

multipleEvenFromOdds = [moltiplicatore (i) per i in Numbers se non i% 2 == 0]
print (multipleEvenFromOdds)
Uscita: [14, 30, 34]

Dizionario e Comprensioni dell'insieme

Oltre a una lista di comprensione, Python offre anche un dizionario e una funzionalità di comprensione degli insiemi.

Dai un'occhiata alla comprensione del dizionario di esempio di seguito per vedere come funziona:

corrispondente = {i: i * 2 per i nell'intervallo (10) se non i% 2 == 0}
stampa (corr)
Uscita: {1: 2, 3: 6, 5: 10, 7: 14, 9: 18}

Il codice sopra scorre l'elenco dei numeri compresi tra 1 e 9 e li rende le chiavi. Quindi dice a Python di moltiplicare ogni chiave per due. Infine, presenta i risultati di tale operazione come i valori corrispondenti per ciascuna chiave nella matrice risultante.

Relazionato: Come funzionano gli array e gli elenchi in Python

Una comprensione dell'insieme è un po 'simile alla comprensione di una lista. Ecco un esempio di comprensione dell'insieme:

numeri = {i ** (2) for i nell'intervallo (10) se i% 4 == 0}
print (numeri)
Uscita: {0, 16, 64}

Tuttavia, a differenza della comprensione dell'elenco, la comprensione dell'insieme rimuove i duplicati:

nums = {i per i nell'intervallo (20) se i% 2 == 1 per k nell'intervallo (10) se k% 2 == 1}
print (nums)
Uscita: {1, 3, 5, 7, 9, 11, 13, 15, 17, 19}

Puoi provare il codice sopra usando una comprensione dell'elenco per vedere come differiscono.

Potete usare la comprensione degli elenchi ogni volta?

Abbiamo esaminato diversi esempi di comprensione degli elenchi e dove è possibile utilizzarli. Tuttavia, come qualsiasi altro metodo Python, il caso d'uso di una comprensione di elenchi dipende dal problema specifico che si desidera risolvere. Pertanto dovresti usarlo solo se è l'ideale per il problema specifico che desideri risolvere.

Uno degli scopi della comprensione delle liste è semplificare il codice e renderlo più leggibile. Quindi, assicurati di evitare la complessità quando lo affronti. Ad esempio, una lunga comprensione di Python può diventare complessa da leggere. Ciò sconfigge il suo scopo.

E-mail
Come usare le comprensioni degli elenchi di Python (e quando non usarle)

Ecco tutto ciò che devi sapere sull'utilizzo di questa straordinaria funzionalità di Python che aumenterà la tua produttività e la leggibilità del codice dall'oggi al domani.

Argomenti correlati
  • Programmazione
  • Pitone
Circa l'autore
Idowu Omisola (55 articoli pubblicati)

Idowu è appassionato di tutto ciò che riguarda la tecnologia intelligente e la produttività. Nel tempo libero gioca con la programmazione e quando è annoiato passa alla scacchiera, ma ama anche staccarsi dalla routine di tanto in tanto. La sua passione per mostrare alle persone come aggirare la tecnologia moderna lo motiva a scrivere di più.

Altro di Idowu Omisola

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Ancora un passo…!

Conferma il tuo indirizzo e-mail nell'e-mail che ti abbiamo appena inviato.

.