Teo
Teo Autore di matteoricci.net.

Strutture dati fondamentali

Strutture dati fondamentali

Introduzione

Quando si impara un linguaggio di programmazione, comprendere le sue strutture dati fondamentali è un passaggio cruciale.

In Python, queste strutture rappresentano i mattoni essenziali per costruire applicazioni efficaci e flessibili.

Che tu sia uno sviluppatore alle prime armi o desideri consolidare le tue conoscenze, questo articolo ti guiderà attraverso i principali strumenti che Python offre, come liste, dizionari, tuple e set.

Scopri come padroneggiare queste strutture dati per rendere i tuoi programmi più efficienti e scrivere codice chiaro e manutenibile. Sei pronto a immergerti? Iniziamo!

Strutture Dati Fondamentali in Python

Le strutture dati fondamentali sono essenziali per gestire e manipolare i dati in Python.

Esse includono liste, dizionari, set e tuple, ognuna con caratteristiche specifiche che le rendono utili in diversi scenari. Liste

Le liste sono collezioni ordinate e mutabili che possono contenere elementi di qualsiasi tipo. Sono probabilmente la struttura dati più utilizzata in Python. Creazione e Manipolazione

Puoi creare una lista in diversi modi:

Lista vuota

lista_vuota = []

Lista con elementi

frutti = [“mela”, “banana”, “ciliegia”]

Lista creata con range()

numeri = list(range(1, 6)) # [1, 2, 3, 4, 5]

Metodi Principali

1
append(elemento): Aggiunge un elemento alla fine della lista.

frutti.append(“arancia”) # [‘mela’, ‘banana’, ‘ciliegia’, ‘arancia’]

remove(elemento): Rimuove il primo elemento uguale al valore specificato.

frutti.remove(“banana”) # [‘mela’, ‘ciliegia’, ‘arancia’]

sort(): Ordina la lista in modo crescente (modifica la lista in-place).

numeri.sort() # [1, 2, 3, 4, 5]

Per un ordinamento personalizzato:

1
numeri.sort(reverse=True)  # [5, 4, 3, 2, 1]

Cicli sulle Liste

Puoi iterare su una lista con un ciclo for:

for frutto in frutti: print(frutto)

Indici e valori

for indice, valore in enumerate(frutti): print(f”Indice {indice}: {valore}”)

Dizionari

I dizionari sono collezioni non ordinate (fino a Python 3.6) o ordinate (da Python 3.7 in poi) che mappano chiavi a valori. Chiavi e Valori

Un dizionario si crea con coppie chiave-valore:

studente = { “nome”: “Matteo”, “età”: 35, “città”: “Milano” }

Aggiungere, Modificare e Rimuovere Elementi

1
Aggiungere o Modificare:

studente[“email”] = “matteo@example.com” # Aggiunge una nuova chiave studente[“età”] = 36 # Modifica il valore di una chiave esistente

Rimuovere un elemento:

1
del studente["città"]  # Rimuove la chiave 'città'

Metodi Principali

1
keys(): Restituisce un oggetto iterabile con tutte le chiavi.

print(studente.keys()) # dict_keys([‘nome’, ‘età’, ‘email’])

values(): Restituisce tutti i valori.

print(studente.values()) # dict_values([‘Matteo’, 36, ‘matteo@example.com’])

items(): Restituisce una vista di coppie (chiave, valore).

1
2
for chiave, valore in studente.items():
    print(chiave, valore)

Set

I set sono collezioni non ordinate di elementi unici. Sono mutabili e utili per eliminare duplicati o per operazioni insiemistiche. Creazione

Set vuoto

insieme = set()

Set con elementi

numeri = {1, 2, 3, 4, 5}

Caratteristiche

1
2
3
4
5
Non permettono duplicati:

duplicati = {1, 1, 2, 3}  # {1, 2, 3}

Sono non ordinati, quindi non puoi accedere agli elementi tramite indice.

Operazioni Principali

1
Unione:

a = {1, 2, 3} b = {3, 4, 5} print(a | b) # {1, 2, 3, 4, 5}

Intersezione:

print(a & b) # {3}

Differenza:

1
print(a - b)  # {1, 2}

Tuple

Le tuple sono simili alle liste, ma sono immutabili (il loro contenuto non può essere modificato dopo la creazione). Creazione

Tuple vuota

tupla_vuota = ()

Tuple con elementi

coordinate = (10, 20)

Tuple con un singolo elemento (necessaria la virgola)

singolo = (42,)

Differenze con le Liste

1
2
3
4
5
Immutabilità: Non puoi modificare, aggiungere o rimuovere elementi.

coordinate[0] = 15  # Errore!

Sono più veloci delle liste per operazioni che non richiedono modifiche.

Utilizzo

Le tuple sono ideali per rappresentare dati immutabili, come coordinate o costanti:

punto = (3, 5) x, y = punto # Unpacking

Differenze tra Set e Tuple Caratteristica Set Tuple Mutabilità Mutabile Immutabile Duplicati Non permette duplicati Permette duplicati Ordine Non ordinato Ordinato Accesso agli Elementi Non tramite indice Tramite indice

Conclusione

Le strutture dati fondamentali di Python sono il cuore pulsante di questo linguaggio versatile. Liste, dizionari, tuple e set non solo ti aiutano a organizzare i dati, ma ti offrono anche strumenti potenti per risolvere problemi complessi con semplicità ed eleganza.

Padroneggiare queste strutture è essenziale per scrivere codice più efficiente, leggibile e manutenibile, sia che tu stia lavorando su piccoli script o su grandi progetti. Con una solida comprensione di questi strumenti, sarai pronto ad affrontare sfide più avanzate nel mondo della programmazione Python.

Continua a sperimentare e ad approfondire le tue conoscenze: il prossimo passo nel tuo viaggio potrebbe essere imparare come combinare queste strutture per creare algoritmi ancora più potenti. Buon coding!

Capitolo 4

comments powered by Disqus