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 <[email protected]>
> 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
> [email protected]
> http://lists.python.it/mailman/listinfo/python
>
_______________________________________________
Python mailing list
[email protected]
http://lists.python.it/mailman/listinfo/python