Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich in Python Sequenzen mit Dezimalschritten generieren?

Wie kann ich in Python Sequenzen mit Dezimalschritten generieren?

Susan Sarandon
Freigeben: 2024-12-11 08:39:13
Original
717 Leute haben es durchsucht

How Can I Generate Sequences with Decimal Steps in Python?

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])
Nach dem Login kopieren

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])
Nach dem Login kopieren

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])
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage