Python Generatori

Da Andreabont's Wiki.

In Python un generatore è una funzione che ritorna un set di valori "uno a uno" attraverso la parola chiave yield. Questo è utile quando il set è molto grosso, in quanto permette di elaborarlo mentre viene creato. (Con il metodo classico verrebbe creato, salvato in memoria, e successivamente elaborato).

Codice

def firstn(n):
    num = 0
    while num < n:
        yield num
        num += 1

Esempio

for i in firstn(10):
    print i
sum_of_first_n = sum(firstn(1000000))