[Python] Il dilemma degli array mutabili
Marco Beri
marcoberi a gmail.com
Mer 18 Set 2013 16:28:32 CEST
2013/9/18 Piergiuliano Bossi <pgbossi a 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
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130918/825549f1/attachment.html>
Maggiori informazioni sulla lista
Python