Strutture dati avanzate

Oltre alle strutture di base, Python offre strumenti più espressivi e potenti per lavorare sui dati.

Liste annidate

Una lista può contenere altre liste.

matrice = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

print(matrice[1][2])

Comprensioni di lista

Le list comprehension permettono di creare liste in modo compatto.

quadrati = [x**2 for x in range(6)]
print(quadrati)

Con filtro:

pari = [x for x in range(10) if x % 2 == 0]
print(pari)

Dizionari più complessi

studenti = {
    "Luca": {"eta": 17, "classe": "4A"},
    "Anna": {"eta": 18, "classe": "5B"}
}

print(studenti["Luca"]["classe"])

Quando servono queste strutture

Servono quando i dati hanno una struttura più ricca:

  • tabelle;
  • griglie;
  • raccolte di oggetti;
  • informazioni organizzate per chiavi.

Ricapitoliamo

  • le liste annidate permettono di rappresentare matrici e tabelle;
  • le list comprehension aiutano a scrivere codice più compatto;
  • i dizionari possono contenere strutture complesse;
  • scegliere bene la struttura dati rende il programma più chiaro ed efficace.