<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">2013/9/17 Manlio Perillo <span dir="ltr"><<a href="mailto:manlio.perillo@gmail.com" target="_blank">manlio.perillo@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="im">-----BEGIN PGP SIGNED MESSAGE-----<br>
Hash: SHA1<br>
<br>
</div>On 17/09/2013 18:34, Piergiuliano Bossi wrote:<br>
> [...] Ad esempio, data una lista di interi, per estrarre quelli<br>
<div class="im">> piu' grandi di 5:<br>
><br>
>>>> a = [2, -4, 27, 44, 13, 0] filter(lambda x: x > 5, a)<br>
> [27, 44, 13]<br>
>>>> [x for x in a if x > 5]<br>
> [27, 44, 13]<br>
>>>><br>
><br>
> Immagino che tu vada diretto con la seconda, mentre a me viene<br>
> naturale la prima (la trovo piu' "intention revealing", dice<br>
> chiaramente che sto filtrando la lista).<br>
><br>
> Torna?<br>
><br>
<br>
</div>No, perch│ la versione Python │ altrettanto compatta, e chi ha<br>
esperienza con Python non ha problemi a capire le intenzioni del codice.<br>
<br></blockquote><div><br></div><div>Intendevo "torna" l'uso della comprehension con un if embedded.</div><div><br></div><div>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.</div>
<div><br></div><div>Comunque, ribadisco, non voglio mica convincervi, neh... :)</div><div><br></div><div><div>Ciao,</div><div>Giuliano</div><div><br></div></div><div><br></div></div>-- <br>Piergiuliano Bossi<br>Blog: <a href="http://thinkingbox.wordpress.com/" target="_blank">http://thinkingbox.wordpress.com/</a><br>
Twitter: <a href="http://twitter.com/thinkingbox" target="_blank">http://twitter.com/thinkingbox</a> (English)<br>Twitter: <a href="http://twitter.com/scatolapensante" target="_blank">http://twitter.com/scatolapensante</a> (Italiano)<br>
<div>Google+: <a href="https://plus.google.com/u/0/108187981162465525118" target="_blank">https://plus.google.com/u/0/108187981162465525118</a></div>
</div></div>