Wiederverwendung von Python-Generatorobjekten:
Generatoren, eine leistungsstarke Funktion in Python, sind Folgen von Werten, die bei Bedarf langsam berechnet werden. Aufgrund ihrer Beschaffenheit können Generatoren jedoch nicht zurückgespult werden. Wenn Sie einen Generator mehrmals wiederverwenden möchten, haben Sie mehrere Möglichkeiten:
1. Generatorfunktion neu starten:
Sie können die Generatorfunktion einfach erneut ausführen, um den Generierungsprozess erneut zu starten:
<code class="python">y = FunctionWithYield() for x in y: print(x) y = FunctionWithYield() for x in y: print(x)</code>
2. Generatorergebnisse speichern:
Alternativ können Sie die Generatorergebnisse in einer speichererhaltenden Datenstruktur speichern, beispielsweise einer Liste oder einer Datei auf der Festplatte. Dadurch können Sie die Ergebnisse mehrmals durchlaufen:
<code class="python">y = list(FunctionWithYield()) for x in y: print(x) # Can iterate again: for x in y: print(x)</code>
Kompromisse:
Die Wahl zwischen diesen Optionen hängt von Ihren spezifischen Anforderungen ab:
Im Wesentlichen stehen Sie vor dem klassischen Kompromiss zwischen Speichernutzung und Verarbeitungszeit. Es gibt keine perfekte Lösung, um einen Generator „zurückzuspulen“, ohne das eine oder das andere zu gefährden.
Das obige ist der detaillierte Inhalt vonWie kann ich einen Python-Generator mehrmals wiederverwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!