2013/12/10 Marco Chieppa | crap0101 <crap0...@riseup.net> > Il giorno Tue, 10 Dec 2013 18:58:48 -0500 > Piergiuliano Bossi <pgbo...@gmail.com> ha scritto: > > > On Tuesday, December 10, 2013, Marco Beri wrote: > > [...] > > > > > > def avg(gen): > > > n, sum_ = 0, 0.0 > > > for v in gen: > > > sum_ += v > > > n += 1 > > > return sum_ / n > > > > > > Cos'ha questo di brutto? Tra l'altro funziona anche con le liste e le > > > tuple.. > > > > > > > > > > > Nulla, ma è il modo più idiomatico di farlo? Fate tutti così? Dai > > confessa... :) > > > > non molto diverso in realtà... ma potresti usare enumerate: > > def avg(seq): > tot = 0.0 > for n, v in enumerate(seq, 1): > tot += v > try: > return tot / n > except UnboundLocalError: > return 0 # ??? > > Si', non male. Penso che quello che mi spiazza di piu' e' il non utilizzo idiomatico di sum nelle soluzioni che mi fate vedere.
capisco che il try/except finale non è molto bello, ma forse lo > dovrai/vorrai > utilizzare anche con altri metodi, nel caso in cui passi una sequenza che > non > contiene alcun elemento (ad esempio nell'altro codice sopra avresti un > ZeroDivisionError). > > Nel mio caso sono sicuro di avere sempre svariate migliaia di elementi nella sequenza, ma capisco cosa intendi e hai ragione. > Non ho capito bene quando parli di > > > la creazione di 2 iteratori in itertools.izip(*generator) > > non mi pare faccia quello che ti serve, forse intendevi itertools.tee ? > Si', itertools.tee fa quello che volevo meglio di come mi sono messo a usare itertools.izip :) > Quest'ultimo potrebbe essere una soluzione però non credo valga la pena di > creare dei doppioni (soprattutto con sequenze lunghe) quando puoi fare con > un > unico for... > Concordo, ed era il senso del mio secondo messaggio. Sono un po' stupito che nessuno di voi mi dica di caricare in una lista... Grazie 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
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python