Dezimalschrittwerte in range() verwenden
Pythons range()-Funktion ermöglicht das Erhöhen von Werten innerhalb eines angegebenen Bereichs. Beim Versuch, einen dezimalen Schrittwert zu verwenden, tritt jedoch ein Fehler auf, da dieser nicht Null sein darf.
Um diese Einschränkung zu überwinden, wird empfohlen, den Schrittwert als Anzahl der im Bereich zu generierenden Punkte anzugeben . Die NumPy-Bibliothek stellt die Linspace-Funktion bereit, die eine Anzahl von Punkten und einen optionalen Endpunktwert akzeptiert. Zum Beispiel:
import numpy as np np.linspace(0, 1, 11) # returns [0, 0.1, 0.2, ..., 1] np.linspace(0, 1, 10, endpoint=False) # returns [0, 0.1, 0.2, ..., 0.9]
Wenn die Verwendung eines Gleitkomma-Schrittwerts erforderlich ist, kann numpy.arange verwendet werden:
np.arange(0.0, 1.0, 0.1) # returns [0, 0.1, 0.2, ..., 0.9]
Gleitkomma-Rundungsfehler können jedoch zu unerwartetem Verhalten führen :
np.arange(1, 1.3, 0.1) # returns [1, 1.1, 1.2, 1.3] (incorrect due to rounding error)
Daher wird für die Generierung von Bereichen die Verwendung der Linspace-Funktion von NumPy oder die Angabe der Anzahl der Punkte bevorzugt Dezimalschrittwerte.
Das obige ist der detaillierte Inhalt vonWie kann ich in Python einen Bereich mit dezimalen Schrittwerten generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!