Gibt es einen einfachen Generatorausdruck, der unendliche Elemente ergeben kann?
Dies ist eine rein theoretische Frage. Hier ist keine "praktische" Antwort erforderlich :)
Zum Beispiel ist es einfach, einen endlichen Generator herzustellen:
my_gen = (0 for i in xrange(42))
Um jedoch eine unendliche zu erstellen, muss ich meinen Namespace mit einer Scheinfunktion "verschmutzen":
def _my_gen():
while True:
yield 0
my_gen = _my_gen()
Dinge in einer separaten Datei zu tun und import
später zu tun, zählt nicht.
Ich weiß auch, dass itertools.repeat
das genau das tut. Ich bin gespannt, ob es eine Einzeilerlösung ohne diese gibt.
del _my_gen
wenn Sie die beiden nicht verwechseln möchten
my_gen
und tun Sie es dannmy_gen = my_gen()
.