[Python] ciclo for dentro un ciclo for

Simone Federici s.federici a gmail.com
Mer 10 Mar 2010 14:05:53 CET


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.valerio a 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 a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://lists.python.it/pipermail/python/attachments/20100310/2182e572/attachment.htm 


Maggiori informazioni sulla lista Python