Parliamo di qualcosa che è abbastanza unico per Python e rende le cose davvero, davvero belle come programmatori Python,
e si chiama comprensioni, è uno dei nostri termini chiave.
Comprensioni.
Quali sono?
Beh, in realtà si chiamano comprensioni di lista o comprensioni di set o comprensioni di dizionario.
E questi sono alcuni dei tipi di dati che abbiamo in Python.
E siamo in grado di usare le comprensioni con questi tre tipi di dati, a proposito, mentre sto registrando, ci sono
alcuni uccelli che cinguettano in sottofondo.
Ho pensato che sarebbe stato bello registrare solo il cinguettio degli uccelli in sottofondo.
Penso che sarà tranquillo per te se ti arrabbi.
Mi dispiace, ma, ehi, anche gli uccelli devono divertirsi.
OK, quindi quali sono queste comprensioni?
Bene, sono un modo rapido per creare elenchi o set o dizionari in Python invece di eseguire il ciclo o
l'aggiunta di un gruppo di elementi agli elenchi.
Quindi lascia che te lo mostri, invece di fare qualcosa come la mia lista è uguale a una lista vuota, e
da qui farò qualcosa come quattro caratteri in Hello.
Il mio punto elenco viene aggiunto.
Carattere.
Solo così posso finalmente creare questa lista, quindi diciamo la mia lista e la stamperemo.
Se clicco, corro.
Ho creato un elenco che contiene i caratteri di Hello.
Va bene, ma.
C'è un modo più veloce e pulito per farlo e sì, c'è con meno comprensioni in Python.
Ancora una volta, è piuttosto unico.
Non lo vedi in molti linguaggi di programmazione, ma le persone che usano Python adorano davvero questa funzione, e
anche io.
Quindi, come possiamo farlo usando una comprensione delle liste?
Bene, il formato che seguiremo è questo.
Diremo Perram.
Per.
Perram in iterabile.
Quindi, quando dico Perram, intendo parametro o, nel nostro caso, potrebbe essere una variabile, quindi possiamo chiamarla
come vogliamo.
Quindi diamo un nome a questo personaggio come abbiamo fatto qui e poi personaggio come abbiamo fatto qui.
E poi vogliamo che un iterabile nel nostro caso dirà ciao.
In modo che se lo rimuovo e faccio clic su Esegui.
Ottengo la stessa cosa proprio così, quindi su Creation Online tre, creo un elenco che contiene
caratteri in Hello, eseguo un ciclo for qui e creo l'elenco.
Quindi il modo in cui mi piace pensarci è, ehi,
crea una variabile e poi faremo un ciclo for dicendo, ehi, per ogni variabile nell'iterabile aggiunta all'elenco.
OK, espandiamoci su questo, diciamo che volevo fare qualcos'altro, chiamiamolo anche il mio elenco,
e voglio creare, diciamo, un elenco veloce con numeri che vanno da zero a cento o da zero a
novantanove.
Come farei a farlo di nuovo?
Usando una comprensione dell'elenco, dirò il numero quattro numero e poi qual è l'iterabile che userò?
Bene, userò un intervallo e dirò da zero a 100 in modo che se clicco corri qui.
Guarda, ho una bella lista lunga, abbastanza popolata con tutti questi numeri.
Quant'è fico?
OK.
Ma ecco la mia sfida per te.
E se volessi questo, ma tutti i numeri dovessero essere moltiplicati per due.
Quindi voglio una lista in cui questo è uguale a zero.
Questo è due.
Questo è quattro.
Questo è il sei.
Questo è otto.
Questo è dieci.
Così via.
Come posso farlo?
Bene, possiamo effettivamente espandere questo in modo che il mio elenco tre questa volta utilizzi lo stesso ciclo for che abbiamo
visto prima.
In questo modo, ma invece della sola variabile, questa è ora un'espressione di come vogliamo agire su ciascun carattere,
proprio come abbiamo visto nelle espressioni lambda.
Quindi ora posso dire volte intorpidite a.
Per.
Questi articoli.
Quindi ora se faccio la mia lista tre.
Ehi, dai un'occhiata.
È molto carino, vero?
OK, rendiamolo ancora più impegnativo, diciamo, Miles tre, e rendiamolo un po' più grande qui.
La mia lista per Voglio cambiarla in modo che nella mia lista tenga ancora qui quello che ho i numeri, ma voglio mantenere
solo i numeri pari.
In questo caso, sono tutti pari perché sono moltiplicati per due, ma se, per esempio, facciamo alla
potenza di due e commentiamo per un secondo e clicchiamo su.
Vediamo che alcuni numeri non lo sono.
Anche così, voglio mantenere questi numeri, ma solo quelli pari, come farei per farlo?
Bene, in questo caso, abbiamo un nuovo modo di creare questa espressione, faremo esattamente la stessa cosa che abbiamo
fatto qui.
Quindi mi limiterò a copiarlo.
Ma alla fine, ricorda, ora abbiamo un'espressione qui, qualcosa che faremo per influenzare
qualunque sia l'elemento nell'iterabile.
Andremo in loop attraverso le cose e poi finalmente dopo questo, possiamo dire se o possiamo fare una condizione if.
Quindi diciamo nel nostro caso, dirò se num.
Modulo due è uguale a zero, solo successivamente aggiunto all'elenco.
Quindi, se clicchiamo, corri.
Bene, e assicurati che sia meno per la corsa dei clic.
Guarda che sono tutti numeri pari, quindi diamo un'occhiata a questo formato.
Ricordare?
Questi sono chiamati elenchi di comprensione, è un modo per noi di creare rapidamente elenchi con Python invece di
eseguire cicli e utilizzare append o cose che abbiamo visto prima.
Quindi è una forma abbreviata per noi fare cose uniche come questa.
Il modo in cui siamo in grado di farlo è avere un'espressione qui di ciò che vogliamo fare con ogni elemento
su cui stiamo iterando, eseguiamo un ciclo.
Usando un ciclo for unhittable, gli diamo una variabile su cui agiremo, e poi, se
vogliamo, abbiamo anche un'opzione per aggiungere un condizionale e dire, ehi, incluso solo nell'elenco in base a questa condizione , basato
su un vero o un falso.
Molto, molto interessante ora, anche se le comprensioni delle liste sono davvero belle perché sono
solo semplici battute, può diventare piuttosto confuso.
Guardando questo codice, devi avere molta familiarità con la comprensione delle liste per capire davvero cosa
sta succedendo.
Quindi, sebbene questo renda il codice più breve, forse anche più pulito, toglie un po' della sua leggibilità.
Quindi potrebbe essere meglio creare semplicemente una funzione descrittiva come generare un elenco di numeri pari o qualcosa
del genere.
Quindi è più descrittivo.
E un altro sviluppatore potrebbe avere un'idea migliore di cosa sta succedendo.
Quindi è sempre uno scambio.
Facciamo una pausa e parliamo di comprensioni di set e dizionari nel prossimo video di.