Python per principianti: le 4 strutture dati fondamentali spiegate in modo semplice

python

Python è uno dei linguaggi più amati da chi inizia a programmare perché ha una sintassi chiara, leggibile e molto potente. In questa guida pratica vedremo 4 strutture fondamentali che userai ogni giorno:

  • Stringhe
  • Liste
  • Tuple
  • Dizionari

Per ogni argomento troverai:

  • spiegazione semplice
  • esempi pratici
  • casi d’uso reali
  • slicing spiegato passo passo

Hey, ciao 👋
Piacere di conoscerti.

Iscriviti per ricevere contenuti fantastici nella tua casella di posta, ogni mese.

Non inviamo spam! Leggi la nostra Informativa sulla privacy per avere maggiori informazioni.

1) Le stringhe in Python

Le stringhe in Python (in inglese strings) sono una delle strutture dati fondamentali e servono per rappresentare e manipolare sequenze di caratteri, cioè testo. Possono contenere lettere, numeri, simboli e spazi, e vengono racchiuse tra virgolette singole (' '), doppie (" ") o triple (''' ''' o """ """) quando si lavora con testi su più righe.

Dal punto di vista tecnico, una stringa è una sequenza ordinata e immutabile di caratteri Unicode. Questo significa due cose molto importanti:

Immutabile → una volta creata, la stringa non può essere modificata direttamente (ogni operazione crea una nuova stringa)

Ordinata → ogni carattere ha una posizione precisa (indice), a partire da 0

Accesso ai caratteri

Ogni carattere ha una posizione chiamata indice.

parola = "Python"

print(parola[0])   # P
print(parola[1])   # y
print(parola[-1])  # n

Slicing delle stringhe

Lo slicing delle stringhe in Python è una tecnica che ti permette di estrarre porzioni di testo da una stringa in modo semplice e molto potente.

Lo slicing serve per prendere una “fetta” (slice) di una stringa.

Come funziona

  • start = da dove partire
  • stop = dove fermarsi (escluso)
  • step = ogni quanti elementi muoversi

Caso reale: ottenere il dominio di una email.

email = "utente@gmail.com"
dominio = email[email.index("@") + 1:]
print(dominio)

2) Le liste in Python

Le liste in Python (in inglese lists) sono una delle strutture dati più importanti e versatili del linguaggio. Servono per memorizzare collezioni ordinate di elementi, che possono essere modificati nel tempo.

Una lista può contenere qualsiasi tipo di dato: numeri, stringhe, booleani e persino altre liste. Gli elementi sono racchiusi tra parentesi quadre [] e separati da virgole.

numeri = [10, 20, 30, 40]
print(numeri)

Accesso agli elementi

print(frutta[0])
print(frutta[-1])

Slicing delle liste

Lo slicing sulle liste funziona come sulle stringhe.

Esempio pratico reale

Prendere i primi 3 prodotti di un e-commerce:

prodotti = ["pc", "mouse", "tastiera", "monitor", "webcam"]
primi_tre = prodotti[:3]
print(primi_tre)

3) Le tuple in Python

Le tuple in Python (in inglese tuples) sono una struttura dati utilizzata per memorizzare insiemi ordinati di elementi, molto simili alle liste, ma con una differenza fondamentale: sono immutabili. Una tupla è una sequenza di valori racchiusi tra parentesi tonde () e separati da virgole, questo significa che una volta create non possono essere modificate.

coordinate = (10, 20)
print(coordinate)

Le tuple sono molto utili quando i dati non devono cambiare.

Esempi classici:

  • coordinate GPS
  • date
  • colori RGB
  • configurazioni
  • risultati restituiti da funzioni
data = (13, 4, 2026)
rgb = (255, 128, 0)

Perché usare le tuple?

Le tuple sono perfette quando vuoi proteggere i dati da modifiche accidentali.

Ad esempio una posizione su una mappa non dovrebbe cambiare per errore:

posizione = (41.9028, 12.4964)

Se provi a modificarla:

posizione[0] = 50

otterrai errore, perché la tupla è immutabile.


Accesso agli elementi

coordinate = (10, 20, 30, 40)

print(coordinate[0])
print(coordinate[1])
print(coordinate[-1])

Tuple packing e unpacking

Una funzione molto usata è spacchettare i valori: guarda il video e capisci come!


Slicing delle tuple

Anche le tuple supportano lo slicing come stringhe e liste.

Esempio pratico su cui puoi fare delle prove

mesi = ("gen", "feb", "mar", "apr", "mag", "giu")
primo_trimestre = mesi[:3]
print(primo_trimestre)

Altro esempio reale

Prendere solo giorno e mese da una data:

data = (13, 4, 2026)
print(data[:2])


Differenza tra lista e tupla

lista = [1, 2, 3]
tupla = (1, 2, 3)

Usa:

  • lista → se i dati devono cambiare
  • tupla → se i dati devono restare fissi

Le tuple sono anche leggermente più veloci e consumano meno memoria.


4) I dizionari in Python

I dizionari in Python (in inglese dictionaries) sono una struttura dati fondamentale che permette di memorizzare informazioni in formato chiave → valore (key → value). Sono estremamente utili per rappresentare dati strutturati, simili agli oggetti del mondo reale.

Un dizionario è una collezione di elementi racchiusi tra parentesi graffe {}.

Slicing nei dizionari: cosa bisogna sapere

Qui c’è una cosa importante: i dizionari non supportano lo slicing diretto.

Questo succede perché non sono basati su posizioni numeriche come liste e stringhe.

Metodo corretto

Per “simulare” uno slicing bisogna convertire chiavi o valori in lista.

utente = {
    "nome": "Giulia",
    "eta": 24,
    "citta": "Catania",
    "lavoro": "developer"
}

chiavi = list(utente.keys())
print(chiavi[:2])

Output:

['nome', 'eta']

Esempio pratico

valori = list(utente.values())
print(valori[1:3])

Differenze rapide tra le strutture

StrutturaOrdinataModificabileSupporta slicing
StringaNo
Lista
TuplaNo
DizionarioSì*Non diretto

* Nei dizionari moderni Python mantiene l’ordine di inserimento.


Mini esercizi per principianti

1. Stringhe

Fornire un algoritmo che calcoli le occorrenze di ‘c’ in una stringa.

2. Liste

Fornire un algoritmo che che presa una lista di stringhe restituisca una stringa costituita da tutte le stringhe della lista ma in ordine inverso

3. Tuple

Crea una tupla numeri = (3, 7, 2, 7, 9, 7). Stampa quante volte compare il numero 7 nella tupla. Trova l’indice (posizione) della prima occorrenza di 7.

4. Dizionari

Crea un dizionario classe dove le chiavi sono i nomi degli studenti e i valori sono i loro voti (interi). Stampa il voto di uno studente specifico. Calcola e stampa la media dei voti. Trova e stampa lo studente con il voto più alto.


Conclusione

Se stai iniziando con Python, padroneggiare stringhe, liste, tuple e dizionari è fondamentale.

Lo slicing è una tecnica potentissima perché ti permette di:

  • leggere porzioni di dati
  • filtrare velocemente
  • invertire sequenze
  • estrarre blocchi utili

Il consiglio migliore è fare pratica ogni giorno con piccoli esercizi.

Una volta capite queste 4 strutture, sarai pronto per affrontare:

  • cicli for e while
  • funzioni
  • classi e oggetti
  • data analysis

con molta più sicurezza.

Scarica il Cheat Sheet Python per l'Umanista Digitale

Non inviamo spam! Puoi saperne di più leggendo la nostra Informativa sulla privacy