Potete crederci?
Spero di non averti fatto addormentare, ma ci siamo quasi.
Abbiamo un ultimo tipo di dati principale impostato e poi abbiamo finito.
Lo so.
So che questo non è l'argomento più eccitante.
Credimi, questa è la parte più difficile.
Quando inizi e impari queste cose senza capire, perché ne ho bisogno?
Come costruirò il prossimo gioco?
Come costruirò il prossimo Netflix?
Come creerò la prossima app Apple più interessante?
Stai guardando questo e pensi, ho appena imparato un po' di teoria.
Mi sembra di essere di nuovo a lezione di matematica.
Lo so.
Fidati di me.
Ho passato questo.
Sono stato anche un programmatore autodidatta.
Questi sono i blocchi Lego che costruiscono le nostre fondamenta.
Una volta apprese queste cose, possiamo passare a cose nuove.
E vedrai che una volta scalata questa piccola montagna, le cose diventano molto più facili e ti renderai conto
della potenza.
Quando inizieremo a costruire questi progetti verso la fine della lezione in cui dirai, oh,
tutti questi blocchi che abbiamo imparato, tutta questa parte francamente noiosa avrà senso.
Quindi tieni duro.
Dovrebbe essere difficile.
Dovrebbe essere difficile, ma vedrai molto presto perché è così potente e perché ciò che abbiamo
appena imparato ci permetterà di costruire cose davvero fantastiche e creare programmi davvero fantastici.
Quindi finiamo con l'ultimo, l'ultimo tipo di dati, l'ultima struttura di dati che vedremo in
Python, almeno da quelle principali.
E si chiama set e gli insiemi sono semplicemente raccolte non ordinate di oggetti unici.
Hmm.
Diamo un'occhiata.
Creiamo un mindset e il mio set lo creiamo con parentesi graffe come un dizionario, ma invece di un
dizionario, non abbiamo coppie chiave-valore.
Invece, abbiamo solo valori come uno, due, tre, quattro o cinque.
Ecco, questo è un set, abbiamo appena creato un set, ma ricorda, la definizione che ti ho dato set
è una raccolta non ordinata di oggetti unici.
Che cosa significa?
Bene, se stampo questo e dico il mio set e clicco su Esegui.
Ricevo un set, ma se ne avessi, diciamo, altri cinque qui dentro e clicco su Esegui.
Restituisce solo i set unici o gli elementi unici che vedi in un set, non ci sono duplicati.
Tutto deve essere unico.
Quindi questo fuoco non viene mai aggiunto a un set, ad esempio, puoi aggiungere cose a un set come il mio set
e poi posso dire aggiungi e dargli un valore come cento.
E poi diciamo che faccio il mio annuncio set dot e poi lo do a se clicco, corri qui.
Vedo che sono stato in grado di aggiungere cento, ma due beh, due non sono stati davvero aggiunti perché
il mio detto conteneva già quei dati.
Non è ordinato.
Voglio dire, qui ne abbiamo creati uno, due, tre, quattro o cinque, ma non c'è un vero ordine.
Non c'è libreria nel nostro spazio di memoria che sia proprio uno accanto all'altro.
Questi sono dappertutto nella memoria.
Ma un set è in grado di trovarli perché sono tutti unici.
Quindi sono tutti in una sola posizione nella memoria.
Quindi lascia che ti chieda questo, e questo sarà un piccolo esercizio divertente.
Se ti dessi un array.
E diciamo che questo array conteneva, beh, questo proprio qui.
E voglio che tu restituisca un array senza duplicati, quindi voglio che tutto sia contenuto, diciamo che
lo chiamiamo il mio elenco.
E un programmatore l'ha già creato.
OK, quindi il tuo compito è creare o restituire un elenco o una raccolta che ha solo elementi univoci.
Come faresti a convertirlo in un set?
Bene, l'abbiamo già visto.
Abbiamo una funzione set e avvolgiamo semplicemente la mia lista in quel set.
E questo è stampato.
Clicco, corro.
Controlla.
Abbiamo formato un nuovo set da un elenco.
E ho rimosso tutti i valori duplicati, quando sarebbe utile?
Immagina se avessimo nomi utente, diritti o indirizzi e-mail in cui raccogliere indirizzi e-mail sulla nostra pagina
di avvio, ma non vogliamo avere e-mail duplicate.
Potremmo voler convertire questo elenco di email in un set e rimuovere eventuali duplicati.
Quindi non inviamo e-mail più e più volte.
Quindi è davvero fantastico.
Che ne dici di questo, posso cambiarlo in un set, quindi chiamiamolo il mio set.
Lo cambierà in un set.
Ecco qua.
E poi se volessi accedere al mio set un indice pari a zero?
Hmm, l'oggetto impostato non supporta l'indicizzazione.
Bene, di nuovo, puoi pensarlo più come un dizionario per accedere a un set, dobbiamo afferrare l'oggetto
che è dentro.
Questa è la chiave per ottenere le informazioni dalla memoria.
Il modo in cui controlliamo se esiste qualcosa è semplicemente dire, ehi, è uno nel mio set e lo eseguiamo.
E arriviamo a.
Possiamo anche fare la lunghezza del mio set e otteniamo di nuovo cinque, niente di troppo folle, ma uno, due, tre, quattro,
cinque.
Ricorda, conta solo le cose uniche perché questo non verrà mai inserito.
È un insieme.
E in alternativa, possiamo anche convertirlo in un elenco.
Se clicco su Esegui qui, vedrai che ora ho il mio set come elenco.
E poi possiamo anche fare, diciamo, la copia di mia figlia del set e in realtà copiare il mio set in qualcosa, diciamo
di nuovo.
O un nuovo set, e poi questo sarà completamente diverso o una nuova copia, quindi questa originale.
Quindi proviamo questo, questo nuovo set.
Se uso un metodo che potremmo aver visto prima, che è il mio set dot clear, che come puoi immaginare, cancella il
set e faccio clic su Esegui.
Ho quel nuovo set, ma quando provo a stampare sono tutti pronti, che era il mio set, sarà vuoto, un
set vuoto, ma il vero potere dei set arriva.
I prossimi due metodi che ti mostrerò ei set hanno parecchi metodi, ma non preoccuparti, la maggior parte
di essi sono abbastanza simili.
Quindi esploriamolo nel prossimo video.