<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2013/12/11 Marco Chieppa | crap0101 <span dir="ltr"><<a href="mailto:crap0101@riseup.net" target="_blank">crap0101@riseup.net</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">
Il giorno Tue, 10 Dec 2013 23:20:10 -0500<br>
<div class="im">Piergiuliano Bossi <<a href="mailto:pgbossi@gmail.com">pgbossi@gmail.com</a>> ha scritto:<br>
<br>
</div><div class="im">> Pensiero malvagio:<br>
> - con enumerate genero una serie di coppie (v, n)<br>
> - le zippo e quindi ottengo 2 sequenze (v1, v2, ...) e (1, 2, ...) =><br>
> assumo di poter zippare le generator expression, oppure gia' qui sto<br>
> sbagliando?<br>
> - calcolo le somme di entrambe<br>
> - sfrutto il fatto che sum(1, 2, ...) altri non e' che n * (n + 1) / 2, per<br>
> cui divido sum(v1, v2, ...) per la soluzione positiva di n^2 + n - 2 *<br>
> sum(1, 2, ...) = 0, cioe' 1/2 * (sqrt(8 * sum(1, 2, ..) + 1) - 1)<br>
><br>
><br>
> Potrebbe funzionare, ma e' talmente assurdo che manco ci provo a vedere se<br>
> sto toppando qualcosa. :)<br>
><br>
<br>
</div>mhh... magari funziona però non mi sembra molto conveniente e<br>
soprattutto leggibile stare a zippare e unzippare più del necessario.<br></blockquote><div><br></div><div>No infatti, era solo un trip notturno. :)</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">

Inoltre, invece di fare tutti quei calcoli con sqrt e altro, basta _non_<br>
usare enumerate ma "simularlo" con una genexpr che yielda tuple di valori<br>
della sequenza in uso e "uni" che poi sommi tra loro senza fare altre<br>
operazioni, tipo così:<br>
<br>
import itertools, operator<br>
<br>
def avgfoo(seq):<br>
  try:<br>
    return operator.div(*map(sum, itertools.izip(*((x, 1.) for x in seq))))<br>
  except TypeError:<br>
    return 0<br>
<br>
avgfoo(range(10)) # 4.5<br>
<br></blockquote><div><br></div><div>Bello, ma a questo punto mi sembra di capire che non abbia molto senso.</div><div><br></div><div>Grazie mille.</div><div><br></div><div><div>Ciao,</div><div>Giuliano</div><div><br></div>
</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>