[Python] generatori
Daniele Zambelli
daniele.zambelli a gmail.com
Mar 3 Gen 2012 09:39:03 CET
Mi sono imbattuto in un comportamento di Python che mi ha sorpreso e
che mi ha confermato nell'idea che i generatori per me sono un po' un
mistero.
Una funzione prende come argomento una sequenza e ne stampa gli elementi:
>>> def mostra(sequenza):
for e in sequenza:
print(e)
>>> mostra((1, 3, 5, 7, 9))
1
3
5
7
9
Funziona.
Creo un generatore:
>>> cubi = (n*n*n for n in range(5))
Anche di questo posso stampare gli elementi:
>>> for n in cubi:
print(n)
0
1
8
27
64
Ma se lo passo alla funzione non viene stampato niente:
>>> mostra(cubi)
>>>
A me il comportamento sembra strano e incoerente, cosa mi sfugge?
grazie per l'attenzione.
--
Daniele
www.fugamatematica.blogspot.com
giusto!
nel verso
forse è perché non guardiamo le cose
Quando non ci capiamo,
Maggiori informazioni sulla lista
Python