comprensione delle liste Python

La comprensione di un elenco Python è un modo per creare un elenco basato su un elenco esistente. Le comprensioni di elenco vengono comunemente utilizzate per filtrare gli elementi da un elenco o per modificare i valori in un elenco esistente. Le comprensioni degli elenchi sono racchiuse tra parentesi quadre.

Quando lavori con gli elenchi, potresti voler creare un elenco basato sui contenuti di una sequenza esistente. Ad esempio, potresti voler creare un elenco basato su una sequenza di caratteri. Oppure potresti volere un elenco che moltiplichi il contenuto di un altro elenco per due.

Ecco dove entrano in gioco le comprensioni di elenco. Questo tutorial esplorerà, con esempi, le basi degli elenchi Python e come usa la comprensione delle liste.

Liste Python: un aggiornamento

La struttura dati della lista ti permette di memorizzare raccolte di elementi in Python. Gli elenchi vengono comunemente utilizzati quando si desidera lavorare con più valori correlati in qualche modo.

Ad esempio, è possibile utilizzare un elenco per memorizzare tutti i gusti di gelato venduti in una gelateria. Oppure potresti usare un elenco per memorizzare un elenco dei numeri di telefono dei membri di un wine club.

Ecco un esempio di elenco in Python:

Ora che abbiamo rivisto le basi delle liste, possiamo iniziare a parlare di come usare la comprensione delle liste.

Comprensione delle liste Python

Una comprensione dell’elenco Python crea un nuovo elenco dal contenuto di un altro elenco. è possibile utilizzare una comprensione dell’elenco per duplicare un elenco o per modificare il contenuto di un elenco esistente in un nuovo elenco. Oppure puoi trasferire il contenuto di un altro iterabile in un elenco con una comprensione dell’elenco.

L’81% dei partecipanti ha dichiarato di sentirsi più sicuro delle proprie prospettive di lavoro nel settore tecnologico dopo aver frequentato un bootcamp. Fatti abbinare a un bootcamp oggi.

Il laureato medio del bootcamp ha trascorso meno di sei mesi nella transizione di carriera, dall’inizio di un bootcamp alla ricerca del primo lavoro.

Puoi specificare i filtri in modo che il tuo nuovo elenco include solo determinati valori. Ad esempio, potresti creare un nuovo elenco da un elenco di numeri. Il tuo nuovo elenco può includere solo numeri maggiori di 250.

La sintassi per la comprensione di un elenco in Python è la seguente:

Questa sintassi è simile a un Python per dichiarazione. Ma la dichiarazione è su una riga. Per distinguere tra un’istruzione for, una comprensione di elenco è racchiusa tra parentesi quadre.

Ci sono tre parti nella sintassi precedente:

  • espressione: il valore finale che va nel nuovo elenco.
  • item: il singolo elemento nell’elenco su cui si esegue l’iterazione.
  • list: l’elenco o l’oggetto iterabile attraverso il quale attraversa la comprensione dell’elenco (tipi di dati accettabili includi tuple, stringhe ed elenchi).

Puoi usare una comprensione di elenco con un’istruzione Python if‚Ķelse inside:

Questa comprensione aggiunge elementi all’elenco solo se soddisfano la condizione specificata.

L’uso delle comprensioni di elenco ti consente di creare un nuovo elenco da uno esistente senza definire per completo dichiarazioni. per stat Gli elementi occupano almeno due righe di codice, mentre puoi scrivere una comprensione di elenco su una riga.

Alcune persone dicono che le comprensioni di elenco sono più codice Python. Questo perché sono più efficienti rispetto all’utilizzo di una breve istruzione for.

Esempio di comprensione dell’elenco Python

Supponiamo di voler creare un elenco di tutti i polli pizze che vendiamo presso il nostro punto vendita. Sposteremo tutte le pizze di pollo in una categoria Pollo nel nostro menu. Per fare ciò, potremmo filtrare le nostre pizze utilizzando le istruzioni for. Oppure, potremmo filtrare la nostra lista usando una comprensione di lista.

Potremmo usare una comprensione di lista per generare una nuova lista di pizze i cui nomi contengono Pollo in base alla nostra lista di pizze esistente . Potremmo farlo usando questo codice:

Il nostro comprensione restituisce il seguente elenco di output:

Nel nostro codice, definiamo prima un elenco di pizze nel nostro menu. Le nostre pizze sono conservate nella variabile Python chiamata pizze. Quindi, utilizziamo una comprensione di elenco per creare una nuova lista di pizze i cui nomi contengono Pollo.

La nostra comprensione di elenco è composta dalle seguenti parti:

  • p: questo è il valore da aggiungere alla nostra lista.
  • per p nelle pizze: questo scorre in ogni pizza nel nostro " pizze" elenco.
  • se "Pollo" in p: controlla se ogni pizza contiene "Pollo". Se restituisce True, il valore memorizzato in "p" viene aggiunto alla nostra lista.

La nostra comprensione delle liste ha richiesto solo una riga di codice, mentre nel nostro prossimo esempio, dobbiamo usare tre righe di codice con un’istruzione for per rendere funziona. Il nostro prossimo esempio mostra fino a che punto la comprensione delle liste aiuta a scrivere un codice più pulito.

Senza una comprensione delle liste

Torniamo all’esempio della pizza al pollo. Senza usare un comprensione delle liste, se volessimo generare una lista di pizze al pollo nel nostro menu, useremmo questo codice:

Il nostro codice restituisce:

Per prima cosa, definiamo due elenchi. Un elenco memorizza un elenco di pizze vendute presso il nostro punto vendita. L’altro elenco contiene un elenco di tutte le pizze di pollo che vendiamo. L’elenco delle pizze di pollo che vendiamo è inizialmente vuoto.

Utilizziamo un "for" dichiarazione per esaminare ogni pizza nel nostro elenco di pizze. Quindi, controlliamo se ogni pizza contiene la parola Pollo. Se una pizza contiene la parola Pollo, aggiungiamo quella pizza al nostro elenco di pizze di pollo. In questo caso, tre pizze contengono Pollo e tutte e tre queste pizze vengono aggiunte alla nostra lista di pizza_pollo.

"Il Karma di carriera è entrato nella mia vita quando Ne avevo più bisogno e mi ha aiutato rapidamente a partecipare a un bootcamp. Due mesi dopo la laurea, ho trovato il lavoro dei miei sogni in linea con i miei valori e obiettivi nella vita!"

Venus, Software Engineer presso Rockbot

Come puoi vedere, per verificare se una pizza contiene Pollo e per aggiungerlo alla nostra lista, utilizziamo tre righe di codice. C’è un modo più efficiente per scrivere questo codice: usare le comprensioni di lista.

Comprensioni di lista Usare if…else

Puoi anche usare un if‚Ķelse dichiarazione con una comprensione dell’elenco.

Prima usavamo l’istruzione if per aggiungere una pizza al nostro elenco di pizze al pollo. Abbiamo aggiunto una pizza solo se il nome della pizza includeva il termine Pollo. Ma supponiamo di fare un elenco di quali pizze sono vegetariane.

Vogliamo aggiungere "Carne" a un elenco se il nome di una pizza contiene Pollo e Vegetariano se il nome di una pizza non contiene Pollo.

Questo può essere fatto usando una comprensione di elenco:

Il nostro codice restituisce:

Descriviamo il nostro codice. Innanzitutto, dichiariamo un elenco di pizze chiamato pizze. Quindi, utilizziamo una comprensione di elenco per valutare se il nome di una pizza contiene Pollo o meno.

Se il nome di una pizza contiene Pollo, il valore Carne viene aggiunta alla nostra lista is_veggie. In caso contrario, viene aggiunto il valore Vegetariano.

Come puoi vedere, il primo valore nella nostra lista is_veggie è Carne , perché il suo valore corrispondente nell’elenco pizze è Pollo. Ma il nostro valore successivo è Vegetarian, perché il suo valore corrispondente nell’elenco pizze è Margherita, che non contiene Pollo.



Conclusione

La comprensione delle liste ti consente di creare un nuovo elenco basato su un elenco esistente. Usando la comprensione delle liste, puoi creare una copia di una lista, o creare una nuova lista che filtri i valori da una vecchia lista.

Questo tutorial ha discusso, con riferimento agli esempi, le basi delle liste Python e come per usare la tecnica di comprensione delle liste per creare nuove liste.

Vuoi saperne di più sulla programmazione in Python? Dai un’occhiata alla nostra Guida all’apprendimento di Python. Questa guida contiene un elenco di risorse di apprendimento per aiutarti a continuare il tuo viaggio verso la padronanza di Python.