Gleitkomma-Iteration mit range()
In Python generiert die Funktion range() bequem eine Folge von Ganzzahlen. Es fehlt jedoch die direkte Unterstützung für Gleitkommazahlen. Dieser Artikel befasst sich mit der Frage, wie man in Python eine bereichsähnliche Sequenz für Floats erstellt.
Die Standardfunktion range() akzeptiert ganzzahlige Werte als Start-, Stopp- und Schrittargumente. Der Versuch, Gleitkommaargumente für den Schrittparameter zu verwenden, führt zu einem ValueError. Dies liegt daran, dass der Schrittparameter das Inkrement zwischen Elementen in der Sequenz darstellt und nicht Null sein darf.
Äquivalente Ansätze für Gleitkommabereiche
Um Gleitkomma zu erreichen -Punkt-Iteration mit range(), ein Ansatz besteht darin, die Argumente um den Faktor 10 zu skalieren. Beispiel:
<code class="python">>>> range(0.5, 5, 1.5) # Invalid: range() step argument must not be zero [0, 1, 2, 3, 4]</code>
<code class="python">>>> [x / 10.0 for x in range(5, 50, 15)] [0.5, 1.5, 2.5, 3.5, 4.5]</code>
Durch Multiplikation des Schrittwerts mit 10 erstellen wir im Wesentlichen eine Sequenz von Ganzzahlen und dividieren Sie dann jedes Element durch 10, um die Gleitkommafolge zu erhalten.
Ein anderer Ansatz besteht darin, Lambda-Funktionen und die Funktion „map()“ zu verwenden:
<code class="python">>>> map(lambda x: x / 10.0, range(5, 50, 15)) <map object at 0x10440b0e8></code>
Die Lambda-Funktion transformiert jede Ganzzahl im Bereich in den entsprechenden Gleitkommawert um, und map() wendet diese Funktion auf jedes Element in der Sequenz an. Das Ergebnis ist ein Kartenobjekt, über das iteriert werden kann, um den gewünschten Gleitkommabereich zu erzeugen.
Das obige ist der detaillierte Inhalt vonWie erstelle ich Gleitkommabereiche mit range() in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!