Altri tipi di gestori dei dati in python: i tuples, le liste ed i dizionari.

by

Oltre alle stringhe ed ai normali numeri python ci offre altri tre tipi importanti di gestori, questi sono i tuple, le liste ed i dizionari vediamoli nel dettaglio.

I tuples (rhymes with supples)

Se avete letto le guide precedenti che riguardano l’handling delle stringhe e dei numeri avete probabilmente già usato i tuples.

Esempio pratico:

>>>print “%s %d %s” % (‘Giovanni ha mangiato’, 2, ‘mele’)

Giovanni ha mangiato 2 mele

Lampante che il tuple ci permette l’handling dei dati in ordine di immissione.

Approfondimento:

I tuple si possono anche utilizzare in maniera diversa a seconda da come vengono presentati all’interprete python, mi spiego.

Esempio pratico:

>>>ciccio = (“Valore 1″, “Valore 2″, “Valore 3″)

>>>print “Scrivi il primo valore del tuple: %s” %ciccio[0]

Scrivi il primo valore del tuple: Valore 1

>>>print “Scrivi il secondo valore del tuple: %s” %ciccio[1]

Scrivi il secondo valore del tuple: Valore 2

>>>print “Scrivi il terzo valore del tuple: %s” %ciccio[2]

Scrivi il terzo valore del tuple: Valore 3

Mi sembra abbastanza immediato ma lo andiamo a vedere nel dettaglio….

Nella prima riga assegniamo 3 valori diversi ad una stessa variabile, questo potrebbe ricordare vagamente gli array in PHP per che li conosce ovviamente.

Al fine di richiamare i valori veri e propri usiamo lo stesso nome della variabile con tra parentesi quadra il numero del progressivo a cui abbiamo assegnato il valore.

N.B. I computer considerano lo zero come numero di conseguenza i progressivi sono: 0,1,2,3,4,5,6 etc.

La funzione built-in len()

Spero vi siate posti questa domanda comunque se no la sollevo io:

Ma come facciamo a sapere se un tuple assume più di un valore?

In questo caso la funzione built-in di python len() ci viene in aiuto, questa non fa altro che stabilire la lunghezza di una variabile o tuple, di conseguenza ci dice se assume più di un valore.

Esempio pratico:

>>>ciccio = (“Valore 1″, “Valore 2″, “Valore 3″)

>>>print len(ciccio)

3

Che cosa succede:

Non abbiamo fatto altro che chiedere a python di scrivere (print) la lunghezza di ciccio (len(ciccio)).

Tutto questo funziona anche in multidimensione cioè si può assegnare a ciccio un valore ciccio[0] e si può assegnare a ciccio[0] un valore ciccio[0][0] , ciccio [0][1] ma ci occorrerà mai?

Curiosità:

A differenza di una stringa quando andiamo a dichiarare un tuple anche se esso è composto da un singolo valore dobbiamo farlo seguire da una virgola:

>>>tuple = (“sono solo”, )

Se non seguiremo questa sintassi il tuple verrà considerato inesorabilmente stringa e di conseguenza in python chi nasce stringa muore stringa… (AHahAHahAHahAH! cmq è vero!).

Le liste

Le liste un po come i tuple sono degli elenchi ordinati di dati, le sequenze partono da zero e la loro principale differenza a livello visuale è l’uso delle parentesi quadre [ ] nella dichiarazione dei singoli elementi della lista.

Mo ci divertiamo….

Esempio pratico:

>>>condimenti = ["carbonara", "sugo", "sugo di carne", "ricotta e spinaci", "amatriciana"]

>>>count=0

>>>print “Oggi la pasta la facciamo alla %s” %condimenti[count]

Oggi la pasta la facciamo alla carbonara

>>>count = 1

>>> print “Oggi la pasta la facciamo al %s” %condimenti[count]

Oggi la pasta la facciamo al sugo

>>>count = 2

>>> print “Oggi la pasta la facciamo al %s” %condimenti[count]

Oggi la pasta la facciamo al sugo di carne

E così via, ho inviato a monitor i valori dei condimenti della pasta ogni volta con un valore diverso nonostante il lavoro dell’incremento di count normalmente è assegnato ad un loop ancora non ci siamo arrivati quindi ne parliamo al momento dei loop.

Dizionari

I dizionari Python sono dei contenitori di dati un pò come i tuple e le liste ma con la differenza che ad un dizionario si può assegnare un valore particolare indice che può a sua volta essere composto da lettere, numeri, stringhe o addirittura simboli.

Esempio sintattico:

>>>menu_di_oggi ={}

>>>menu_di oggi["colazione"] = “Cornetto e cappuccio”

>>>menu_di_oggi["pranzo"] = “Pasta all’amatriciana”

>>>menu_di_oggi["cena"] = “Arrosto e patate al forno”

Che abbiamo fatto fino adesso?

Abbiamo detto a python che stavamo inizializzando un dizionario con menu_di_oggi={}

Abbiamo detto anche i nomi degli indici con menu_di oggi["colazione"], menu_di_oggi["pranzo"], menu_di_oggi["cena"].

Abbiamo anche assegnato i valori agli indici: Cornetto e cappuccio, Pasta all’amatriciana, Arrosto e patate al forno.

N.B. I valori indice del dizionario sono chiamati anche chiavi.

Altra sintassi che può essere usata per definire i dizionari può essere:

>>>menu_di_oggi = {“colazione”:”Cornetto e cappuccio”, “pranzo”:”Pasta all’amatriciana”, “cena”: “Arrosto e patate al forno”}

Sarà un po più confusionario ma rende decisamente l’idea.

Come accedere ad i dati di un dizionario

Semplice, bisogna solamente nominare il dizionario e la chiave:

>>>print “%s” % menu_di_oggi["pranzo"]

Pasta all’amatriciana

Visualizziamo solo le chiavi di un dizionario:

>>>menu_di_oggi.keys()

['pranzo', 'cena', 'colazione']

OK

Visualizziamo solo i dati di un dizionario:

>>>menu_di_oggi.values()

["Pasta all'amatriciana", 'Arrosto e patate al forno', 'Cornetto e cappuccio']

OK

No Comments

Send your comment for the article

No comments yet.

Leave a comment