LinuxLudus: Python-domande varie

John Leach john.leach@syger.com
Gio 22 Maggio 2008 00:51:22 CEST


Valerio Pachera wrote:
> 2008/5/21 Federico Ramponi <federico.ramponi@gmail.com>:
>> Una tupla e` una lista immutabile. Dopo che una lista e` stata creata
>> non puoi ne' ridimensionarla ne' riassegnare uno o piu` dei suoi
>> elementi.
> 
> Quali vantaggi possono esserci ad usare una tupla al posto di una
> lista? Cioè, pechè esiste?
> 
Per lo stesso motivo che PI (Pi greco, cioe' 3.14159265...) e' meglio 
che non cambii. Sono costanti, anche se l'unico costante nella vita e' 
il cambio...

Concordo con quello che ha detto molto concisamente Federico. Oggi 
giorno direi che lista == array == vector, tanto quanto map == hash == 
dictionary == associated array. Anche in C l'array poteva essere 
ridimensionato (se malloc'd) ma dovevi farlo a mano, cioe' con una 
funzione a posto.

Una variable e' solo un 'etichetta' ad un valore, che in realta' (almeno 
per Python, come Ruby, e C#) e' sempre un oggetto. Quindi

nome = "carlo"
nomi = ["carlo","valerio",christian"]

Sia nome sia nomi sono variabili che 'puntano' ad *un solo valore*, una 
stringha nel primo caso, ed una lista nella seconda. La lista 
naturalmente contiene altri oggetti, me se vogliamo essere pedantico, 
anche la stringha (perche' contiene caratteri). Non per nulla che si usa 
la stessa sintasse in questi casi per estrarre un elemento:

primo_carattere = nome[0]
primo_nome = nomi[0]

(non conosco Python, quindi la sintasse probabilmente sara' leggermente 
sbagliato).

FYI (anche se lo sai ;-) 
http://groups.google.com/group/it.comp.lang.python/topics

John


Maggiori informazioni sulla lista linuxludus