<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2013/12/10 Dario Bertini <span dir="ltr"><<a href="mailto:berdario@gmail.com" target="_blank">berdario@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">
2013/12/10 Piergiuliano Bossi <<a href="mailto:pgbossi@gmail.com">pgbossi@gmail.com</a>>:<br>
<div class="im">>>>> def avg(gen):<br>
> ...     x = itertools.izip(*((i, 1) for i in gen))<br>
> ...     return float(sum(x.next())) / sum(x.next())<br>
> ...<br>
<br>
</div>Capisco l'attrattiva del problema, ma questo non fa assolutamente<br>
quello che vuoi, a causa dell'unpacking degli argomenti di izip<br></blockquote><div><br></div><div>Si', sono un po' duro di comprendonio ma alla fine ci sono arrivato. :)</div><div> </div><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">
<br>
<br>
sum(range(10000000))<br>
<br>
sum di per se invece č in grado di lavorare tranquillamente sui<br>
generatori senza fare allocazioni superflue<br></blockquote><div><br></div><div>Infatti quello che volevo era proprio usare sum e intanto contare gli elementi per fare un unico calcolo alla fine.</div><div> </div><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">

<br>
qualcosa di interessante per te magari puņ essere calcolare tutte le<br>
medie intermedie (media mobile?)<br>
<br></blockquote><div><br></div><div>No, nel mio caso specifico non mi serve, ma bella soluzione comunque.</div><div> </div><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">

from itertools import accumulate, islice<br>
<br></blockquote><div><br></div><div>Non male itertools.accumulate, ma ho un vincolo di compatibilita' con python 2.7</div><div><br></div><div>Quindi nessun modo idiomatico usando sum?</div><div><br></div><div>In un mondo ideale vorrei poter scrivere qualcosa come questo:</div>
<div><div>>>> sum(v for n, v in enumerate(gen, 1))/n</div><div>Traceback (most recent call last):</div><div>  File "<stdin>", line 1, in <module></div><div>NameError: name 'n' is not defined</div>
</div><div><br></div><div>Oppure sarebbe bello se potessi iniettare un n che funge da lvalue in quel ciclo di sopra e che magicamente alla fine vale quanto l'ultimo indice di enumerate.</div><div><br></div><div>Grazie e ciao</div>
<div>Giuliano</div><div><br></div></div><div><br></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>