f1 = lambda n1, n2 : n1 > n2 for val in range(100): for val2 in range(1000000): if f1(val, val2): print val else: break
chiaro che cosi dai assunto che conosci il punto di uscita di f1 2010/3/10 Valerio Turturici <turturici.vale...@gmail.com> > Nicola Ferrari ha scritto: > > Ma nel caso in cui avessi una quantità enorme di elementi, ci > > sarebbero problemi di prestazioni... > > > La funzione la puoi scrivere cosi > > def F1(n1 = 0, n2 = 0): > return n1 > n2 > > > Comunque con questo codice il mio portatile impiega meno di 25s > (compreso anche il tempo della creazione della lista, che in ogni caso è > irrisorio): > > l = [x for x in range(1000000)] > > def F1(n1 = 0, n2 = 0): > return n1 > n2 > > for val in range(100): > for val2 in l: > if F1(val, val2): print val > > > Cosi sul momento non mi viene in mente nulla per poterlo ottimizzare > pesantemente, visto che devi abbinare ad ogni elemento di range tutti > quelli della lista, e quindi fare x*n iterazioni. Ora vado a mettermi > davanti al termosifone, ho le mani congelate :D > > Ciao > Valerio > _______________________________________________ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python >
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python