<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">2013/9/17 Piergiuliano Bossi <span dir="ltr"><<a href="mailto:pgbossi@gmail.com" target="_blank">pgbossi@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="gmail_quote"><div><a href="https://en.wikipedia.org/wiki/List_comprehension#History" target="_blank">https://en.wikipedia.org/wiki/List_comprehension#History</a><br></div><div><br></div><div>:D</div><div class="im">


<div> </div></div></div></blockquote><div>Non ho mai affernato che le abbiano inventate per il Python, ma il bello di Python e' che ha preso il meglio di altri linguaggi unendolo </div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="gmail_quote"><div class="im"><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 dir="ltr"><div class="gmail_extra">

<div><span style="color:rgb(34,34,34)">on e' particolarmente interessante focalizzarsi ne' su map/reduce ne' sulle collezioni in generale.</span></div></div></div></blockquote></div></div></blockquote><div><br>

</div><div>Era per dire, va bene qualsiasi cosa</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_quote"><div class="im">

<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 dir="ltr"><div class="gmail_extra"><div><span style="color:rgb(34,34,34)">Comunque, un altro esempio e' questo => puoi usare itertools.chain per implementare una flatmap (sicuro che non vuoi il codice Python? allora non leggere :) )</span></div>

</div></div></blockquote></div></div></blockquote><div><br></div><div>Ngueeee mi tratta maleeeeeeeeeee ;P<br><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="gmail_quote"><div>Da un mio scambio privato con un pythonista da queste parti:</div>
<div><div>>>> func = lambda  2 * x</div><div>>>> func(2)</div><div>4</div><div>>>> a = [1, 2, 3, 4]</div><div>>>> b = [2, 3, 4, 5]</div><div>>>> map(func, a)</div><div>[2, 4, 6, 8]</div>


<div>>>> from itertools import *</div><div>>>> list(chain(*[a, b]))</div><div>[1, 2, 3, 4, 2, 3, 4, 5]</div><div>>>> list(chain([a, b]))</div><div>[[1, 2, 3, 4], [2, 3, 4, 5]]</div><div>>>> list(chain(*map(func, a)))</div>


<div>Traceback (most recent call last):</div><div>  File "<stdin>", line 1, in <module></div><div>TypeError: 'int' object is not iterable</div><div>>>> list(chain(*map(func, [a, b])))</div>


<div>[1, 2, 3, 4, 1, 2, 3, 4, 2, 3, 4, 5, 2, 3, 4, 5]</div><div>>>> func2 = lambda iter: sum(iter)</div><div>>>> func2(a)</div><div>10</div><div>>>> list(chain(*map(func2, [a, b])))</div><div>Traceback (most recent call last):</div>


<div>  File "<stdin>", line 1, in <module></div><div>TypeError: 'int' object is not iterable</div><div>>>> func2 = lambda iter: [sum(iter)]</div><div>>>> func2(a)</div><div>


[10]</div><div>>>> map(func2, [a, b])</div><div>[[10], [14]]</div><div>>>> list(chain(*map(func2, [a, b])))</div><div>[10, 14]</div><div>>>> list(chain.from_iterable(map(func2, [a, b]))) # this saves you from typing  at the expense of typing from_iterable</div>


<div>[10, 14]</div><div>>>></div></div><div><br></div><div><br></div><div>Cosi' facendo se la tua collezione e' gia' flat hai un'eccezione (perche' i singoli elementi non sono iterabili). </div>


</div><div class="gmail_extra"><br></div>Qual e' il modo migliore per implementare una flatmap in Python?</blockquote></div><br>Mmmm senza esempi pratici mi spiazzi ;)<br><br clear="all"><div>Carlos</div>-- <br><div dir="ltr">

<div><span style="font-family:arial;font-size:small">"Somos los que amasan, sin embargo no tenemos pan, </span></div><div style="font-family:arial;font-size:small">somos los que cavan el carbón, sin embargo tenemos frío </div>

<div style="font-family:arial;font-size:small">somos los que no tienen nada, y estamos viniendo a tomar el mundo."</div><div><span style="font-family:arial;font-size:small">Tassos Livaditis (Poeta greco, 1922, 1988)</span></div>

</div>
</div></div>