[Python] ciclo for dentro un ciclo for

Valerio Turturici turturici.valerio a gmail.com
Mer 10 Mar 2010 13:41:00 CET


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


Maggiori informazioni sulla lista Python