‫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.