Imparare a Programmare in Python – 4 – Liste Tuple e Set

Imparare a Programmare in Python – 4 – Liste Tuple e Set

Imparare a Programmare in Python – 4 – Liste Tuple e Set: Python utilizza 3 tipi di collezioni per gestire un insieme di dati.

Imparare a Programmare in Python – 4 – Liste Tuple e Set

Liste, Tuple e Set sono 3 elementi in Python che permettono di gestire più valori contemporaneamente.

Infatti come per gli array negli altri linguaggi di programmazione, permettono il salvataggio di un elenco di valori.

Nella lezione precedente abbiamo visto il funzionamento delle liste (in quel video chiamate array).

In questo video vedremo i 3 elementi nel dettaglio e la differenza tra loro.

Le liste

Le liste permettono di collezionare diversi tipi di dati, non è obbligatorio che i dati siano dello stesso tipo, sono modificabili, quindi in qualsiasi momento si possono aggiungere, rimuovere o modificare elementi di una lista.

#Esempio di una lista
lista = ["rosso", "giallo", "verde", "blu"]

Le Tuple

Le tuple funzionano in modo simile alle liste, ma hanno una differenza fondamentale, non sono modificabili.

Quando viene creata una tupla, i valori al suo interno saranno sempre gli stessi.

#Esempio di una tupla
tupla= ("rosso", "giallo", "verde", "blu")

I Set

I set, come le liste e le tuple permettono di inserire qualsiasi tipo di elemento, quindi non devono necessariamente essere dello stesso tipo, come le liste anche i set sono modificabili, quindi si possono aggiungere, modificare e rimuovere elementi al loro interno.

La differenza sostanziale con tuple e liste è che i set non permettono valori duplicati.

I duplicati vengono rimossi automaticamente dai set.

#Esempio di un set
set= {"rosso", "giallo", "verde", "blu"}

Quando scegliere lista, tupla o set

Essendo i tre elementi molto simili tra loro, può essere difficile valutare quando è meglio scegliere un elemento piuttosto che un altro.

Vediamo alcuni motivi per cui scegliere un tipo piuttosto che un altro:

  • Velocità di accesso: se non abbiamo necessità di modificare il loro contenuto, le Tuple permettono un indicizzazione e un accesso agli indici più rapido rispetto a liste e set.
  • Maggiori operazioni: Se abbiamo necessità di accedere agli elementi e di poterli modificare in diversi modi o riordinarli le Liste potrebbero essere la scelta migliore.
  • Verifica presenza di un elemento: I Set gestiscono in maniera migliore gli elementi, ed è quindi più rapido e richiede meno risorse verificare se un elemento è presente al suo interno rispetto a liste e tuple.
  • Rimozione duplicati: I Set rimuovono automaticamente tutti i duplicati, quindi se vogliamo evitare di dover fare controlli per rimuoverli manualmente saranno la scelta migliore.

Ecco alcuni casi pratici in cui un elemento può essere migliore rispetto ad un altro:

  • Lista: Raccolta di dati dall’utente, costruzione dinamica di un dataset
  • Tupla: Dizionario, Coordinate Geografiche, Ritorno di più valori da una funzione
  • Set: Rimozione di duplicati da una lista, filtrare parole o tag, confrontare gruppi di utenti

Soluzione esercitazione

Nella lezione precedente, avevamo creato un gioco che permetteva all’utente di indovinare il colore da una lista.

Come esercitazione avremmo dovuto rendere più casuale la scelta del colore, facendo inserire un numero all’utente e poi usando quel numero per selezionare un colore dalla lista.

Vediamo la soluzione dell’esercitazione:

numero_scelto = int(input("Inserisci un numero da 1 a 9:"))
numero_indice = numero_scelto - 1
colori = ["rosso", "giallo", "blu", "verde", "nero", "viola", "arancione", "rosa", "marrone"]
colore_scelto = input("Indovina il colore (per abbandonare il gioco digita 'esci':")
while colore_scelto != colori[numero_indice]:
    print("Colore sbagliato, Riprova!")
    colore_scelto = input("Indovina il colore (per abbandonare il gioco digita 'esci':")
    if colore_scelto == "esci":
        break
if colore_scelto == colori[numero_indice]:
    print(f"Hai indovinato, il colore era {colori[numero_indice]}")
else:
    print("Grazie lo stesso per aver giocato!")

Faremo inserire un numero da 1 a 9 all’utente (nella lista ci sono 9 elementi), poi andremo a sottrarre 1 al numero inserito perché la lista parte da indice 0.

Quindi nell’if andremo a verificare se il colore scelto è lo stesso del colore nella lista che corrisponde al numero di indice inserito.

Per rendere più completo il gioco si potrebbe aggiungere un ulteriore While, che permette di giocare finché non si raggiunge un determinato punteggio (ad esempio: 3 o 5 o 10), chi vuole, può provare ad estendere il gioco aggiungendo un sistema di punteggi, anche se non vedremo la soluzione nel prossimo video, ma la riprenderemo in futuro, quando vedremo anche come generare numeri casuali.

Video

Scopri di più da ClaudioMasci

Abbonati ora per continuare a leggere e avere accesso all'archivio completo.

Continua a leggere