„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie setze ich ein Generatorobjekt in Python zurück?

Wie setze ich ein Generatorobjekt in Python zurück?

Veröffentlicht am 09.11.2024
Durchsuche:863

How to Reset a Generator Object in Python?

Ein Generatorobjekt in Python zurücksetzen: Alternativen erkunden

Generatoren bieten eine effiziente Möglichkeit, eine Folge von Werten zu durchlaufen, ohne eine Liste zu erstellen Erinnerung. Sobald ein Generator jedoch alle seine Werte abgegeben hat, ist er erschöpft und kann nicht direkt wiederverwendet werden. Dies wirft die Frage auf, wie man ein Generatorobjekt in Python zurücksetzt.

Leider verfügen Generatoren nicht über eine integrierte Reset-Methode. Um einen Generator wiederzuverwenden, haben Sie mehrere Möglichkeiten:

  1. Führen Sie die Generatorfunktion erneut aus: Der einfachste Ansatz besteht darin, die Generatorfunktion einfach erneut auszuführen und so ein neues Generatorobjekt zu erstellen. Diese Option stellt sicher, dass der Generator von seinem Anfangszustand aus startet und alle erforderlichen Werte neu berechnet.
  2. Speichern Sie die Generatorergebnisse in einer Datenstruktur: Alternativ können Sie die Ergebnisse des Generators in einer speichern Datenstruktur wie eine Liste oder ein Array. Dadurch können Sie die Werte mehrmals durchlaufen, ohne die Generatorfunktion erneut ausführen zu müssen. Diese Option reserviert jedoch Speicher für die gesamte Wertefolge, was bei großen Generatoren ein Problem darstellen kann.

Beachten Sie den folgenden Codeauszug für jede Option:

Option 1 (Führen Sie die Generatorfunktion erneut aus):

y = FunctionWithYield()
for x in y: 
    print(x)
y = FunctionWithYield()
for x in y: 
    print(x)

Option 2 (Speichern der Generatorergebnisse in einer Liste):

y = list(FunctionWithYield())
for x in y: 
    print(x)
# Can iterate again:
for x in y: 
    print(x)

Die Wahl zwischen diesen Optionen hängt von den spezifischen Anforderungen Ihres Programms ab. Option 1 ist für kleine Generatoren effizienter oder wenn die erneute Ausführung der Generatorfunktion nicht rechenintensiv ist. Option 2 eignet sich besser für große Generatoren, bei denen das Speichern der Ergebnisse im Speicher möglich ist.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3