Salta al contenuto principale

Gli array in Python

Profile picture for user luca77king

In Python, esistono quattro principali tipi di strutture dati per rappresentare array di dati: liste, tuple, dizionari e set. Ognuno di questi tipi di array ha le proprie caratteristiche e usi specifici nello sviluppo di programmi in Python. Le liste sono utilizzate per rappresentare una sequenza ordinata di dati che possono essere modificate durante l'esecuzione del programma, le tuple sono utilizzate per rappresentare un insieme di dati immutabili, i dizionari sono utilizzati per creare una relazione tra chiavi e valori, mentre i set sono utilizzati per rappresentare un insieme di elementi unici. In questo articolo esploreremo in dettaglio ciascuno di questi quattro tipi di array, mostrando come utilizzarli, le loro caratteristiche e i loro specifici usi nello sviluppo di programmi in Python.

Liste

Per creare una lista in Python, si utilizza la sintassi dei quadre vuoti [] e si possono inserire gli elementi separati da virgole. Ad esempio, per creare una lista di numeri interi, si può utilizzare il codice seguente:

numeri = [1, 2, 3, 4, 5]

Per accedere agli elementi della lista, si utilizza l'indice dell'elemento, che inizia da 0. Ad esempio, per accedere al primo elemento della lista "numeri", si utilizzerebbe

primo_numero = numeri[0]

In Python è possibile effettuare molte operazioni su liste come ad esempio l'append (per aggiungere elementi), il pop (per rimuovere l'ultimo elemento) e il slice (per selezionare un range di elementi). Ad esempio:

numeri.append(6)
numeri.pop()
numeri[1:3] #estrae i numeri dalla posizione 1 alla 2 (l'ultima è esclusa)

Python include anche una funzione interessante chiamata list comprehension, che è una sintassi concisa per creare una lista utilizzando una espressione e un ciclo for. Ad esempio:

In questo modo è possibile creare una lista dei quadrati dei numeri da 1 a 5.

Tuple

Le tuple in Python sono una delle strutture dati utilizzate per rappresentare un insieme ordinato di elementi. A differenza delle liste, le tuple sono immutabili, una volta create non possono essere modificate. In questo articolo, esploreremo in dettaglio le tuple in Python, mostrando come crearle, utilizzarle e le principali differenze rispetto alle liste.

Per creare una tupla in Python, si utilizza la sintassi delle parentesi tonde () e si possono inserire gli elementi separati da virgole. Ad esempio, per creare una tupla di numeri interi, si può utilizzare il codice seguente:

numeri = (1, 2, 3, 4, 5)

Per accedere agli elementi della tupla, si utilizza l'indice dell'elemento, che inizia da 0. Ad esempio, per accedere al primo elemento della tupla "numeri", si utilizzerebbe:

primo_numero = numeri[0]

A differenza delle liste, le tuple non possono essere modificate una volta create. Non è possibile utilizzare metodi come l'append o il pop per modificare una tupla.

numeri.append(6)  # darà errore
numeri.pop()     # darà errore

Le tuple possono essere utilizzate per rappresentare un insieme di dati immutabili, come ad esempio una coppia di coordinate (x, y) o una data (giorno, mese, anno). Inoltre, le tuple sono spesso utilizzate per restituire più valori da una funzione, invece di utilizzare un dizionario o una classe per rappresentare i dati.

Inoltre, le tuple possono essere utilizzate come elementi di un dizionario come chiavi, mentre le liste non possono. Questo perché le tuple sono immutabili e quindi garantiscono l'univocità della chiave, mentre le liste no.

Dizionari

I dizionari in Python sono una delle strutture dati utilizzate per rappresentare un insieme di elementi in cui è importante avere una relazione tra una chiave e un valore. I dizionari sono simili alle liste e alle tuple, ma invece di utilizzare indici numerici per accedere agli elementi, vengono utilizzate delle chiavi, che possono essere di qualsiasi tipo, come stringhe o numeri. In questo articolo, esploreremo in dettaglio i dizionari in Python, mostrando come crearli, modificarli e utilizzarli in un programma.

Per creare un dizionario in Python, si utilizza la sintassi delle parentesi graffe {} e si possono inserire le coppie chiave-valore separate da virgole. Ad esempio, per creare un dizionario di numeri interi con chiavi alfabetiche, si può utilizzare il codice seguente:

numeri = {'uno': 1, 'due': 2, 'tre': 3}

Per accedere ai valori del dizionario, si utilizza la chiave dell'elemento. Ad esempio, per accedere al valore della chiave 'uno' del dizionario "numeri", si utilizzerebbe:

primo_numero = numeri['uno']

I dizionari possono essere modificati in qualsiasi momento, è possibile aggiungere o rimuovere elementi utilizzando i metodi put e del. Ad esempio

numeri['quattro'] = 4
del numeri['uno']

Inoltre, Python include anche una funzione chiamata dictionary comprehension, che è una sintassi concisa per creare un dizionario utilizzando una espressione e un ciclo for. Ad esempio:

quadratis = {x: x**2 for x in range(1, 6)}

Abbiamo detto in precedenza che "le tuple possono essere utilizzate come elementi di una lista o di un dizionario come chiavi". Ad esempio, immaginiamo di voler creare un dizionario che mappa le coordinate (x, y) di un punto in un piano cartesiano ad una descrizione della posizione del punto. Potremmo utilizzare le tuple per rappresentare le coordinate del punto e utilizzarle come chiavi nel dizionario.

punti = {(1, 2): 'punto in alto a sinistra', 
         (3, 4): 'punto in basso a destra',
         (-1, -2): 'punto in alto a sinistra'}

In questo modo, è possibile utilizzare le tuple per rappresentare le coordinate del punto e utilizzare le tuple come chiavi per accedere alla descrizione della posizione del punto nel dizionario. Inoltre, le tuple come chiavi garantiscono l'univocità della chiave, poiché sono immutabili, a differenza delle liste.

Questo è solo un esempio generico per illustrare come le tuple possono essere utilizzate come chiavi in un dizionario, ci sono molte altre possibili applicazioni e utilizzi dei dizionari in Python.

Set

I set in Python sono una struttura dati che rappresenta un insieme di elementi unici. I set sono simili alle liste e alle tuple, ma non hanno ordine e gli elementi non possono essere duplicati. Per creare un set in Python, si utilizza la sintassi delle parentesi quadre {} o la funzione built-in set(). Ad esempio, per creare un set di numeri interi si può utilizzare il codice seguente:

numeri = {1, 2, 3, 4}
oppure
numeri = set([1, 2, 3, 4])

Per aggiungere un elemento al set si utilizza il metodo add()

numeri.add(5)

Per rimuovere un elemento dal set si utilizza il metodo remove()

numeri.remove(3)

I set possono essere utilizzati con i cicli for per eseguire un'operazione su ciascun elemento del set.

for numero in numeri:
    print(numero)

I set in Python sono molto utili per rappresentare insiemi di elementi unici, come ad esempio per la creazione di una lista di parole uniche in un testo.