[Python] l'amore per il pitone

Piergiuliano Bossi pgbossi a gmail.com
Mar 17 Set 2013 18:46:21 CEST


2013/9/17 Manlio Perillo <manlio.perillo a gmail.com>

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 17/09/2013 18:34, Piergiuliano Bossi wrote:
> > [...] Ad esempio, data una lista di interi, per estrarre quelli
> > piu' grandi di 5:
> >
> >>>> a = [2, -4, 27, 44, 13, 0] filter(lambda x: x > 5, a)
> > [27, 44, 13]
> >>>> [x for x in a if x > 5]
> > [27, 44, 13]
> >>>>
> >
> > Immagino che tu vada diretto con la seconda, mentre a me viene
> > naturale la prima (la trovo piu' "intention revealing", dice
> > chiaramente che sto filtrando la lista).
> >
> > Torna?
> >
>
> No, perch│ la versione Python │ altrettanto compatta, e chi ha
> esperienza con Python non ha problemi a capire le intenzioni del codice.
>
>
Intendevo "torna" l'uso della comprehension con un if embedded.

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.

Comunque, ribadisco, non voglio mica convincervi, neh... :)

Ciao,
Giuliano


-- 
Piergiuliano Bossi
Blog: http://thinkingbox.wordpress.com/
Twitter: http://twitter.com/thinkingbox (English)
Twitter: http://twitter.com/scatolapensante (Italiano)
Google+: https://plus.google.com/u/0/108187981162465525118
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130917/55ade182/attachment.html>


Maggiori informazioni sulla lista Python