Unendlicher Generator: Unterschied zwischen den Versionen

Aus Micropython
Zur Navigation springen Zur Suche springen
Peter (Diskussion | Beiträge)
Die Seite wurde neu angelegt: „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: <pre> 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)) </pre>“
 
Peter (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
Zeile 11: Zeile 11:
for _ in range(10):
for _ in range(10):
     print(next(repeater))
     print(next(repeater))
</pre>
Einen Befehl um ihn direkt wieder auf den Anfang zu setzen gibt es nicht. Aber mit einer Neuinitialisierung erreicht man diesen Effekt:
<pre>
repeater = infinite_repeater([1, 2, 3, 4])
</pre>
</pre>

Aktuelle Version vom 11. November 2026, 00:32 Uhr

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])