Esiste un'espressione generatrice diretta che può produrre infiniti elementi?
Questa è una domanda puramente teorica. Non c'è bisogno di una risposta "pratica" qui :)
Ad esempio, è facile creare un generatore finito:
my_gen = (0 for i in xrange(42))
Tuttavia, per crearne uno infinito ho bisogno di "inquinare" il mio spazio dei nomi con una funzione fasulla:
def _my_gen():
while True:
yield 0
my_gen = _my_gen()
Fare le cose in un file separato e in import
seguito non conta.
So anche che itertools.repeat
fa esattamente questo. Sono curioso di sapere se esiste una soluzione a una riga senza di essa.
del _my_gen
se non vuoi confondere i due
my_gen
e poi farlomy_gen = my_gen()
.