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