Unendlicher Generator

Aus Micropython
Version vom 11. November 2026, 00:32 Uhr von Peter (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Ein Generator in Python liefert nacheinander seine Werte aus und ist dann leer. Hier ist ein Weg, wie ein Generator nach dem letzten Wert, wieder mit dem ersten Wert weitermacht:

def infinite_repeater(sequence):
    while True:
        for item in sequence:
            yield item


repeater = infinite_repeater([1, 2, 3, 4])

for _ in range(10):
    print(next(repeater))

Einen Befehl um ihn direkt wieder auf den Anfang zu setzen gibt es nicht. Aber mit einer Neuinitialisierung erreicht man diesen Effekt:

repeater = infinite_repeater([1, 2, 3, 4])