2013/9/18 Piergiuliano Bossi <pgbo...@gmail.com> > 2) non usate liste, ma tuple, ma poi come compensate la mancanza di append > e remove (sembra una contraddizione in termini ma non lo e', basterebbe che > append e remove ritornino nuove strutture dati, copie dell'originale) >
Premetto che questa cosa dei parametri immutabili non è risolvibile come vorresti tu. Ad ogni modo un append immutabile è come se ci fosse: >>> a = (1, 2, 3, 4) >>> a += (5, 6) # Appendi due elementi ad una copia della vecchia sequence >>> a (1, 2, 3, 4, 5, 6) La remove è in effetti un po' più rognosa e bruttina: >>> a = (1, 2, 3, 4, 5) >>> a = a[:3] + a[3+1:] # Rimuove il terzo elemento da una copia della vecchia sequence >>> a (1, 2, 3, 5) In questo modo anche se uno ti passa una lista, in uscita te la troverai immutata. Comunque, come dice Manlio, la cosa migliore è di fartene una copia subito: Poi, per preferenza personale, io preferisco copiare una sequence così: a = a[:] Ciao. Marco. -- http://beri.it/ - Un blog http://beri.it/i-miei-libri/ - Qualche libro
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python