Umgang mit Dezimalschrittwerten in Pythons „range()“-Funktion
Ein Dezimalschrittinkrement kann für Pythons „range()“ nicht verwendet werden ' Funktion? Bedenken bestehen, wenn Sie mit einer Schrittgröße von 0,1 zwischen 0 und 1 iterieren möchten, da das Schrittargument nicht Null sein darf.
Einsatz alternativer Ansätze
Um diese Einschränkung zu umgehen, vermeiden Sie die direkte Verwendung von Dezimalschritten. Drücken Sie stattdessen den gewünschten Endpunkt durch die Anzahl der zu generierenden Punkte aus. Dadurch werden Gleitkomma-Rundungsfehler vermieden, die möglicherweise zu ungenauen Ergebnissen führen könnten.
NumPys „Linspace“-Funktion nutzen
Die „Linspace“-Funktion von NumPy dient als praktische Lösung. Es akzeptiert die gewünschte Anzahl von Punkten und ermöglicht die Angabe des Einschlusses oder Ausschlusses von Endpunkten:
>>> np.linspace(0, 1, 11) array([ 0., 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.]) >>> np.linspace(0, 1, 10, endpoint=False) array([ 0., 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])
Verwendung der Funktion numpy.arange für Dezimalschritte
In Fällen, in denen ein Gleitkomma- Der Punktschrittwert ist wichtig, numpy.arange kann verwendet werden:
>>> import numpy as np >>> np.arange(0.0, 1.0, 0.1) array([ 0., 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])
Allerdings Es ist wichtig, auf potenzielle Gleitkomma-Rundungsfehler zu achten, die zu falschen Ergebnissen führen können, wie unten dargestellt:
>>> numpy.arange(1, 1.3, 0.1) array([1. , 1.1, 1.2, 1.3])
Das obige ist der detaillierte Inhalt vonWie kann ich in Python Sequenzen mit Dezimalschritten generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!