Als «generator» getaggte Fragen

Ein Generator ist eine Verallgemeinerung einer Unterroutine, die hauptsächlich verwendet wird, um das Schreiben von Iteratoren zu vereinfachen. Die Yield-Anweisung in einem Generator gibt keine Coroutine an, zu der gesprungen werden soll, sondern gibt einen Wert an eine übergeordnete Routine zurück.





7
Gibt es einen Ausdruck für einen unendlichen Generator?
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 …

12
Entspricht dem Muster des C ++ - Python-Generators
Ich habe einen Beispiel-Python-Code, den ich in C ++ nachahmen muss. Ich benötige keine spezifische Lösung (z. B. auf Co-Routine basierende Ertragslösungen, obwohl dies auch akzeptable Antworten wären). Ich muss lediglich die Semantik auf irgendeine Weise reproduzieren. Python Dies ist ein grundlegender Sequenzgenerator, der eindeutig zu groß ist, um eine …



3
Python: Verwenden eines rekursiven Algorithmus als Generator
Kürzlich habe ich eine Funktion geschrieben, um bestimmte Sequenzen mit nicht trivialen Einschränkungen zu generieren. Das Problem kam mit einer natürlichen rekursiven Lösung. Nun kommt es vor, dass selbst bei relativ kleinen Eingaben die Sequenzen mehrere Tausend sind. Daher würde ich meinen Algorithmus lieber als Generator verwenden, anstatt ihn zum …

8
Python Empty Generator-Funktion
In Python kann eine Iteratorfunktion leicht definiert werden, indem das Schlüsselwort yield in den Funktionskörper eingefügt wird, z. def gen(): for i in range(100): yield i Wie kann ich eine Generatorfunktion definieren, die keinen Wert liefert (generiert 0 Werte)? Der folgende Code funktioniert nicht, da Python nicht wissen kann, dass …
97 python  generator 

8
Python: Generatorausdruck vs. Ertrag
Gibt es in Python einen Unterschied zwischen dem Erstellen eines Generatorobjekts über einen Generatorausdruck und der Verwendung der Yield- Anweisung? Mit Ausbeute : def Generator(x, y): for i in xrange(x): for j in xrange(y): yield(i, j) Mit Generator Ausdruck : def Generator(x, y): return ((i, j) for i in xrange(x) …

4
enumerate () - Generieren eines Generators in Python
Ich möchte wissen, was passiert, wenn ich das Ergebnis einer Generatorfunktion an pythons enumerate () übergebe. Beispiel: def veryBigHello(): i = 0 while i < 10000000: i += 1 yield "hello" numbered = enumerate(veryBigHello()) for i, word in numbered: print i, word Wird die Aufzählung träge wiederholt oder schlürft sie …


1
Wenn range () ein Generator in Python 3.3 ist, warum kann ich next () nicht für einen Bereich aufrufen?
Vielleicht bin ich Opfer von Fehlinformationen im Internet geworden, aber ich denke, es ist wahrscheinlicher, dass ich etwas falsch verstanden habe. Basierend auf dem, was ich bisher gelernt habe, ist range () ein Generator, und Generatoren können als Iteratoren verwendet werden. Dieser Code jedoch: myrange = range(10) print(next(myrange)) gibt mir …

9
Wann ist kein guter Zeitpunkt, um Python-Generatoren zu verwenden?
Dies ist eher die Umkehrung von Wofür können Sie Python-Generatorfunktionen verwenden? : Python-Generatoren, Generatorausdrücke und das itertoolsModul sind einige meiner Lieblingsfunktionen von Python in diesen Tagen. Sie sind besonders nützlich, wenn Sie Betriebsketten einrichten, die für einen großen Datenstapel ausgeführt werden sollen. Ich verwende sie häufig bei der Verarbeitung von …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.