[Python] l'amore per il pitone

enrico franchi enrico.franchi a gmail.com
Mer 18 Set 2013 17:41:53 CEST


2013/9/17 Piergiuliano Bossi <pgbossi a gmail.com>

> Detto cio', non mi puoi dire seriamente che la versione con la
> comprehension e' altrettanto comunicativa: il problema non e' capirla in
> toto, il problema e' che devi leggerti tutta la comprehension per sapere se
> otterrai una collezione con la stessa numerosita', se stai trasformando gli
> elementi o cosa. Se inveci usi filter, map, ecc. lo sai al volo, non devi
> leggere il dettaglio della trasformazione. Questo e' il nocciolo di come
> manipolare le collezioni che deriva dal mondo Smalltalk.


Il fatto e' che si comunica almeno in due, dopotutto. Quindi dipende a chi
comunichi.
Personalmente a me le list comprehension piacciono molto, perche' le trovo
estremamente dichiarative, molto piu' dichiarative dei classici funzionali
a botte di map e filter. Le LC hanno anche il marginale vantaggio che
mantengono leggibilita' relativa anche quando le cose si complicano un
pochetto. Quando si complicano molto, richiedono una refattorizzazione
banale che riporta la leggibilita' a livelli elementari (usando generatore
e predicato con nome).

In realta' questi sono esempi relativamente giocattolo in cui avere una
lambda coincisa sembra un vantaggio competitivo notevole.
Pero' nella maggior parte del codice che ho scritto, mi sono relativamente
di rado trovato ad usare, per esempio, predicati o funzioni mappate che non
avessero senso definite in modo stabile.

In particolare, tu hai acchiappato il caso in cui le LC sono piu'
sfortunate, quello in cui le usi per filter *senza* map.





-- 
.
..: -enrico-
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130918/e9267da0/attachment.html>


Maggiori informazioni sulla lista Python