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