Existe-t-il une expression génératrice simple qui peut produire des éléments infinis?
C'est une question purement théorique. Pas besoin de réponse "pratique" ici :)
Par exemple, il est facile de créer un générateur fini:
my_gen = (0 for i in xrange(42))
Cependant, pour en créer un infini, j'ai besoin de "polluer" mon espace de noms avec une fonction bidon:
def _my_gen():
while True:
yield 0
my_gen = _my_gen()
Faire des choses dans un fichier séparé et importplus tard ne compte pas.
Je sais aussi que cela itertools.repeatfait exactement cela. Je suis curieux de savoir s'il existe une solution à une seule ligne sans cela.
del _my_gensi vous ne voulez pas confondre les deux
my_gen, puis faitesmy_gen = my_gen().