Bereich von Fließkommazahlen ermitteln in Python

Muhammad Waiz Khan 30 Januar 2023
  1. Ermitteln des Bereichs von Gleitkommazahlen mithilfe der Methode numpy.arange() in Python
  2. Bereich von Fließkommazahlen mit Hilfe des List Comprehensions ermitteln in Python
  3. Bereich von Fließkommazahlen mit Hilfe des Generator-Verständnisses ermitteln in Python
  4. Ermitteln des Bereichs von Gleitkommazahlen mithilfe der Generatorfunktion in Python
  5. Ermitteln des Bereichs von Gleitkommazahlen mithilfe der Methode numpy.linspace() in Python
Bereich von Fließkommazahlen ermitteln in Python

In diesem Tutorial werden verschiedene Methoden untersucht, um eine Folge von Float-Werten in Python zu erhalten. Angenommen, wir benötigen eine Reihe von Zahlen mit einer Schrittgröße von 0.1, aber das Problem ist, dass die Funktion range() keinen Gleitkommawert als Eingabe akzeptiert und stattdessen einen TypeError zurückgibt.

Mit den unten erläuterten Methoden können wir in Python eine Folge von Float-Werten mit einer einheitlichen Schrittgröße generieren.

Ermitteln des Bereichs von Gleitkommazahlen mithilfe der Methode numpy.arange() in Python

Die Methode numpy.arange(start, stop, step) gibt eine Folge von Werten innerhalb der Werte start und stop zurück, deren Schrittgröße dem Wert step entspricht. Der Standardwert der Argumente start und step ist 0 bzw. 1.

Der Vorteil der Verwendung der Methode numpy.arange() besteht darin, dass der Bereich der Gleitkommawerte generiert werden kann. Es ist jedoch keine Standardfunktion von Python, und die Bibliothek NumPy wird benötigt, um es zu verwenden.

Der folgende Beispielcode zeigt, wie mit der Methode numpy.arange() die Folge von Werten von 0 bis 1 mit einer Schrittgröße von 0.1 ermittelt wird.

import numpy as np

seq = np.arange(0, 1, 0.1)
print(seq)

Ausgabe:

[0.  0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]

Bereich von Fließkommazahlen mit Hilfe des List Comprehensions ermitteln in Python

Das List Comprehensions ist die syntaktische Methode zum Erstellen einer neuen Liste aus einer vorhandenen Liste in Python. Wir können den Bereich oder die Folge von Gleitkommawerten generieren, indem wir eine neue Liste aus der Folge von Werten erstellen, die von der Methode range() zurückgegeben werden.

Da die Methode range() nur die Folge von ganzen Zahlen erzeugen kann, müssen wir jeden Wert der Folge mit dem erforderlichen Gleitkommawert multiplizieren oder dividieren, um die gewünschte Folge zu erhalten. Da das Multiplizieren einer Ganzzahl, d. H. 3 mit dem Gleitkommawert 0.1, 0.30000000000000004 ergibt, muss das Teilen der Ganzzahl mit 10 bevorzugt werden, um die Folge von Gleitkommawerten zu erzeugen.

Der folgende Beispielcode zeigt, wie Sie den Bereich oder die Folge von Float-Werten in Python mithilfe der List Comprehensions-Methode abrufen.

seq = [x / 10 for x in range(0, 10)]
print(seq)

Ausgabe:

[0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]

Bereich von Fließkommazahlen mit Hilfe des Generator-Verständnisses ermitteln in Python

Das Generatorverständnis ist ein syntaktischer Ansatz, der dem List Comprehensions ähnelt und ein iterierbares Generatorobjekt in Python erstellt. Wir können vom Generator aus auf den neuen Wert zugreifen, indem wir die Methode next() verwenden oder die gesamte Sequenz mit der Schleife for durchlaufen.

Der folgende Beispielcode zeigt, wie das Generatorverständnis verwendet wird, um den Float-Bereich in Python abzurufen.

seq = (x / 10 for x in range(0, 10))
for x in seq:
    print(x, end=" ")

Ausgabe:

0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 

Ermitteln des Bereichs von Gleitkommazahlen mithilfe der Generatorfunktion in Python

Obwohl das Generatorverständnis eine präzise und einfachere Möglichkeit ist, ein Generatorobjekt in Python abzurufen, ist die Generatorfunktion eine wiederverwendbare und bessere Möglichkeit, einen Bereich von Float-Werten mithilfe der Werte start, stop und step abzurufen unserer Wahl.

Der folgende Beispielcode zeigt, wie eine Generatorfunktion mit dem Schlüsselwort yield erstellt wird, ähnlich der Funktion range() in Python.

def myrange(start, stop, step):
    while start < stop:
        yield start
        start = start + step


seq = myrange(0.0, 1.0, 0.1)

for x in seq:
    print(x)

Ermitteln des Bereichs von Gleitkommazahlen mithilfe der Methode numpy.linspace() in Python

Die Methode numpy.linspace() gibt wie die Methode numpy.arange() die Wertesequenz vom Wert start zum Wert stop zurück. Anstelle des Arguments step verwendet die Methode numpy.linspace() das Argument num, das die Anzahl der Werte angibt, die vom Wert start bis zum Wert stop generiert werden sollen.

Daher müssen wir die Anzahl der Werte num für die Methode numpy.linspace() angeben. Die folgende Formel kann den Wert von num mit den Werten start, stop und step berechnen.

num = (stop - start)/step

Der folgende Beispielcode zeigt, wie Sie mit numpy.linspace() den Float-Bereich von 0 bis 1 mit dem step gleich 0.1 generieren. Der Wert num für die gewünschte Sequenz ist (0 - 1)/0.1 = 10.

seq = np.linspace(0, 1, 10, endpoint=0)
print(seq)

Ausgabe:

array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]

Das Argument endpoint gibt an, ob der letzte Wert der Sequenz eingeschlossen werden soll oder nicht, da die Sequenz standardmäßig bei 0 beginnt.

Verwandter Artikel - Python Float