Ben tornato.
Ora spenderemo una buona parte di questo corso, costruendo alcuni progetti e utilizzando
alcuni moduli Python incorporati, oltre a utilizzare alcune famose librerie di terze parti da Python Package Index.
Tuttavia, volevo solo mostrarti un breve video su alcuni dei moduli utili che personalmente
mi piacciono nei moduli integrati che abbiamo da Python.
E alcuni di questi moduli davvero utili ci consentono effettivamente di avere più tipi di dati in Python.
Ricorda questo elenco all'inizio del corso in cui ho parlato dei tipi di dati forniti con
Python, e poi abbiamo imparato a conoscere le classi e come siamo in grado di creare i nostri tipi di dati, i
nostri oggetti in Python.
Ma abbiamo anche questi tipi di dati specializzati che sono anche incorporati in questa libreria standard di Python, che sono davvero
molto carini in questo gioco.
Rendi i nostri programmi davvero, davvero potenti.
Ora sono specializzati perché non li vedrai ovunque, ma è bello sapere
che esistono.
E vado su alcuni dei miei preferiti.
Il primo che ti mostrerò è il modulo di raccolta, quindi il modulo di raccolta proviene da una o più raccolte
e ci sono tre cose che mi piacciono molto qui.
Quindi dirò importazione.
Ho intenzione di importare il contatore, il dizionario predefinito e quindi il dizionario ordinato.
Ora, nota come alcune di esse sono classi perché sono lettere maiuscole e alcune sembrano
essere solo una funzione, e puoi leggere sul modulo delle collezioni semplicemente scorrendo di nuovo qui
e guardando le collezioni.
E puoi vedere tutti quelli che abbiamo.
Quindi, in queste collezioni, iniziamo con la prima.
Un contatore è estremamente utile, diciamo che ho una lista che contiene uno, due, tre, quattro, cinque,
sei, sette.
E voglio contare quanti elementi in un elenco se faccio stampare contatore.
Puoi vedere qui cosa fa, ma essenzialmente se gli do un elenco e faccio clic su Esegui.
Ok, cos'è successo qui?
Crea un dizionario in cui uno ha vinto, due ha vinto, tre ha vinto.
Cosa succede se aggiungiamo altri sette qui, diciamo sette se faccio clic su Esegui?
Hai visto che sette ora deve, quindi quello che fa è creare un dizionario che tiene traccia di quante volte un elemento si è verificato
in un iterabile, in modo che sette si sia verificato due volte.
Quindi sette ha valore due.
Un altro modo in cui possiamo usarlo è diciamo che abbiamo una frase e diciamo nella frase, voglio controllare.
Bene, scriviamo qualcosa.
Dirò bla, bla, bla.
Pensando a Python, se dovessi fare un contatore qui e diciamo dargli una frase se clicco su Esegui.
Dai un'occhiata, vedo quale lettera è capitata di più.
Nel nostro caso, ognuno si è verificato cinque volte, lo spazio si è verificato cinque volte e poi B si è verificato
quattro volte, e questo è davvero, davvero bello.
Perché questo tipo di calcolo di un contatore di trasformare un elemento come una lista in quella che chiamiamo una mappa hash
o un dizionario come questo per tenere il conto è in realtà una funzione molto utile che vedi in tutta la
programmazione.
In realtà aiuta molto con i problemi di ottimizzazione.
Ora, non ci addentreremo lì.
Ma volevo solo mostrarti che il contatore è qualcosa di davvero, davvero utile.
Se vuoi contare gli utenti duplicati o le email duplicate, il contatore può essere davvero, davvero utile.
E il prossimo ragazzo del cazzo predefinito?
È una parola davvero difficile da dire.
Va bene, quindi diciamo che abbiamo un dizionario qui e questo dizionario avrà, beh, un
dizionario molto insignificante avrà uno e B due.
Che dizionario semplice.
Ora, qui dentro, posso dire dizionario.
Punto.
O parentesi, ehi, e sarò in grado di afferrare il valore, giusto?
Se clicco, corro.
Oh, e non ho scritto dizionario, giusto, risolviamolo.
Va meglio.
Commentiamo questo per ora, perché non ne abbiamo bisogno.
Vedrai che ottengo un valore di uno, ma se provassi ad accedere a qualcosa che non esiste, come,
vedi.
Prendo aria con un dizionario predefinito.
In realtà otterrò un valore predefinito se qualcosa non esiste.
Quindi convertiamo questo in un dizionario predefinito.
Come questo.
E ora se eseguo questo, otteniamo un altro primo argomento che deve essere chiamabile o meno.
Quindi, ciò che fa DECT predefinito è che ci consente di accedere a una chiave come questa, ma dargli un valore predefinito.
Nel nostro caso, dobbiamo dargli qualcosa come un oggetto richiamabile qui.
E colpevole significa qualcosa come una funzione che può essere chiamata così se eseguo.
ottengo zero.
Perché?
Bene, quando mi imbatto.
Come questo senza niente dentro.
Otteniamo zero.
Quindi un modo abbreviato, perché questo verrà eseguito, è dargli una funzione rapida che non useremo.
Quindi facciamo solo una lamda.
E daglielo e basta.
Diciamo cinque.
Quindi ora se eseguo questo, facciamo il dizionario qui.
Ron.
OK, e proviamo ad afferrare.
Qualcosa che non esiste, se faccio clic su Esegui, ne ottengo cinque, quindi questo è un modello comune che
vedi con DECT predefinito, gli diamo solo un valore o un oggetto richiamabile.
Nel nostro caso, gli stiamo solo dando questa funzione, una funzione lambda che restituisce semplicemente cinque.
Quindi posso anche dire qui.
Non esiste.
Il secondo parametro sarà quello che vogliamo, e se premo corri.
Ottengo che non esiste, anche se sto accedendo a una chiave che, beh, non esiste ora se faccio qui e faccio
clic su Esegui.
Tutto funziona.
Ne ho ancora uno.
E se lo sono.
Ho anche dato run, di nuovo, un altro piccolo tipo di dati utile.
Il prossimo è DECT ordinato, e questo è un altro interessante, un dizionario degli ordini mantiene l'ordine
che inserisci in un dizionario.
Lascia che ti mostri.
Quindi se abbiamo, diciamo, un dizionario e questo dizionario sarà un dizionario degli ordini.
Quindi è così che lo creiamo ora qui, se faccio D uguale a a.
E questo sarà uguale a uno e poi D.
B eguaglierà i due.
E ora copio questo e creo un secondo dizionario, aggiungiamo alle due D a.
E controllo, ehi, la stampa fa D per uguale a D, ricorda, questo controllerà i valori.
Se eseguo questo.
Ho superato, sì, sono uguali, ma se ho cambiato l'ordine di inserimento qui e clicco su esegui.
Mi scuso falso, questa non è la stessa cosa perché mantiene l'ordine se questo fosse un dizionario normale,
quindi diciamo che invece di quello che abbiamo qui, creerò semplicemente un dizionario e lo
faremo.
Faremo solo un semplice vedere qui che ha, diciamo, cento.
E fai lo stesso anche per questo, d a.
Lui va a questo.
Se ora eseguo questo.
Divento vero perché tutte le chiavi e i valori sono gli stessi con un dizionario normale, non ci interessa davvero.
Non c'è ordine e l'ho menzionato prima, scrivere un dizionario in Python non ha senso dell'ordine, anche se quando stampiamo le chiavi, potremmo
mettere le cose in ordine man mano che il nostro dizionario diventa sempre più
grande.
Non c'è alcuna garanzia che quando stamperemo tutte le chiavi le metteremo in ordine.
Nel caso di un dizionario degli ordini, tuttavia, otteniamo tale garanzia.
Ora, ci sono alcune implicazioni sulle prestazioni per quelli.
Tuttavia, nel complesso, può essere utile in alcune situazioni.
Va bene, ne ho ancora qualcuna da leggere, ma questo video sta diventando lungo, quindi facciamo una pausa
e vedrò nel prossimo video.