[Python] Dubbio sull'uso delle liste...

Gollum1 gollum1.smeagol1 a gmail.com
Sab 22 Giu 2013 11:35:49 CEST


Il giorno 22/giu/2013 11:14, "enrico franchi" <enrico.franchi a gmail.com> ha
scritto:
>
> 2013/6/21 Federico Figus <figus.federico a gmail.com>:
>
> > se sei sicuro che la seconda lista avrà N elementi allora puoi già
creare
> > una lista con dei None, così risparmi sia memoria (visto che None è un
> > singleton) e ti eviti l'append che fa vari reallocazioni di memoria.
>
> Ma no, dai. Pre-allocare le liste in Python e' un anti-pattern.
>
> Tra l'altro, append non fa "varie riallocazioni". E' fatto per darti
linear
> amortized time su tante append, quindi complessivamente non funziona male.
> In pratica append e' fatto in modo da richiedere "un po' piu' memoria" di
quella
> necessaria, per cui, di fatto, non riallochi ad ogni append.
>
> La cosa ottimale e' comunque costruire direttamente la lista con una bella
> list comprehension.

Nel mio caso credo che non sia comunque possibile, non so a priori quanti
elementi conterrà... per di più ogni elemento è una istanza di una classe.

Dopo alcune valutazioni i dict sono la soluzione perfetta per quello che
devo fare, sopratutto in prospettiva, quando l'elaborazione sarà parallela
con più processi.

Ma questo sarà uno sviluppo successivo... primo voglio produrre una nuova
versione funzionante, con le funzioni di base, che sia la diretta
evoluzione degli script PoC che ho realizzato dopo tre giorni di python.

Appena posso accedere al portatile con l'UMTS ciò mando i link alle pagine
del mio progetto.

Byez
-- 
Gollum1
tessssoro, dov'è il mio tessssoro...
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130622/8490975b/attachment.html>


Maggiori informazioni sulla lista Python