Python range () Funktion: Float, List, For-Schleife Beispiele

Inhaltsverzeichnis:

Anonim

Was ist Python Range?

Python range () ist eine integrierte Funktion, die mit Python von Python (3.x) verfügbar ist und eine Folge von Zahlen basierend auf dem angegebenen Start- und Stoppindex angibt. Wenn der Startindex nicht angegeben wird, wird der Index als 0 betrachtet und der Wert wird bis zum Stoppindex um 1 erhöht.

Zum Beispiel gibt range (5) Werte 0,1,2,3,4 aus. Der Python range () ist ein sehr nützlicher Befehl und wird meistens verwendet, wenn Sie mit for-Schleife iterieren müssen.

In diesem Tutorial lernen Sie:

  • Was ist Python Range?
  • Syntax
  • Python range () Funktion und Verlauf
  • Verwenden von range ()
  • Verwenden von Start und Stopp im Bereich ()
  • Mit Start, Stopp und Schritt
  • Inkrementieren der Werte im Bereich mit einem positiven Schritt.
  • Umkehrbereich: Dekrementieren der Werte im negativen Schritt.
  • Verwenden von schwebenden Zahlen im Python-Bereich ()
  • For-Schleife mit Python-Bereich verwenden ()
  • Verwenden von Python range () als Liste
  • Verwenden von Zeichen im Python-Bereich ()
  • So greifen Sie auf Bereichselemente zu
  • Beispiel: Mit range () erhalten Sie gerade Zahlen
  • Zusammenführen von Ausgängen mit zwei Bereichen ()
  • Verwenden von range () Mit NumPy

Syntax

range(start, stop, step)

Parameter

  • start: (optional) Der Startindex ist eine Ganzzahl. Wenn nicht angegeben, ist der Standardwert 0.
  • stop: Der Stoppindex bestimmt den Wert, bei dem die Bereichsfunktion stoppen muss. Es ist eine obligatorische Eingabe für die Bereichsfunktion. Der letzte Wert ist immer 1 kleiner als der Stoppwert.
  • Schritt: (optional). Der Schrittwert ist die Zahl, um die die nächste Zahl im Bereich erhöht werden muss. Standardmäßig ist sie 1.

Rückgabewert:

Der Rückgabewert ist eine Folge von Zahlen vom angegebenen Start-Stopp-Index.

Python range () Funktion und Verlauf

Python range () wurde ab Python Version 3 eingeführt, bevor xrange () die Funktion war.

Sowohl range als auch xrange () werden verwendet, um eine Folge von Zahlen zu erzeugen.

Es folgt der Unterschied zwischen range und xrange ():

Reichweite() xrange ()
Der Bereich () gibt die Reihenfolge der Zahlen an und gibt eine Liste der Zahlen zurück. Die Funktion xrange () gibt ein Generatorobjekt an, das in einer for-Schleife geloopt werden muss, um die Werte zu erhalten.
Der Bereich () gibt eine Liste zurück. xrange () gibt ein Generatorobjekt zurück.
Die range () -Methode verwendet mehr Speicher, da die zurückgegebene Liste im Vergleich zu xrange () gespeichert werden muss. Da xrange () ein Generatorobjekt zurückgibt, gibt es nicht sofort Werte aus und muss innerhalb der for-Schleife verwendet werden, um die Werte abzurufen.
Die Speichernutzung ist höher, daher ist die Codeausführung bei der Arbeit an einem großen Datensatz langsam. Die Codeausführung ist mit xrange () schneller.

Verwenden von range ()

Dieses Beispiel zeigt, wie die Werte von 0 bis 9 mit range () gedruckt werden.

Der im Bereich verwendete Wert ist 10, daher ist die Ausgabe 0 1 2 3 4 5 6 7 8 9

Da der Start nicht angegeben ist, wird der Start als 0 betrachtet und der letzte Wert wird bis 9 angegeben. Der letzte Wert ist immer 1 kleiner als der angegebene Wert, dh stop-1.

for i in range(10):print(i, end =" ")

Ausgabe:

0 1 2 3 4 5 6 7 8 9

Verwenden von Start und Stopp im Bereich ()

Im Code ist der Startwert 3 und der Stoppwert 10. Hier ist der Startindex 3, sodass die Zahlenfolge von 3 bis zum Stoppwert beginnt. Der letzte Wert in der Sequenz ist 1 kleiner als der Stoppwert 10-1 = 9.

for i in range(3, 10):print(i, end =" ")

Ausgabe:

3 4 5 6 7 8 9

Mit Start, Stopp und Schritt

Der Startwert ist 3, also beginnt die Zahlenfolge bei 3. Der Stoppwert ist 10, also endet die Zahlenfolge bei (10-1), dh 9. Der Schritt ist 2, also wird jeder Wert in der Folge wird um 2 erhöht. Wenn der Schrittwert nicht angegeben wird, ist der Wert für Schritt standardmäßig 1.

for i in range(3, 10, 2):print(i, end =" ")

Ausgabe:

3 5 7 9

Bisher haben wir gesehen, wie die Funktion range () den inkrementierten Wert für den angegebenen Stoppwert angibt. Versuchen wir nun ein Beispiel, um den dekrementierten Wert in dem angegebenen Bereich zu erhalten.

Inkrementieren der Werte im Bereich mit einem positiven Schritt.

Der Parameterschritt in range () kann zum Inkrementieren / Dekrementieren der Werte verwendet werden. Standardmäßig ist es ein positiver Wert 1. Es werden also immer inkrementierte Werte angegeben.

Der Schrittwert muss positiv sein, falls Sie inkrementierte Werte als Ausgabe wünschen.

for i in range(1, 30, 5):print(i, end =" ")

Ausgabe:

1 6 11 16 21 26

Umkehrbereich: Dekrementieren der Werte im negativen Schritt.

Der Parameterschritt mit negativem Wert in range () kann verwendet werden, um dekrementierte Werte zu erhalten. Im folgenden Beispiel ist der Schrittwert negativ, sodass die Ausgabe gegenüber dem angegebenen Bereichswert dekrementiert wird.

for i in range(15, 5, -1):print(i, end =" ")

Ausgabe:

15 14 13 12 11 10 9 8 7 6

Der Startwert ist 15, der Stoppwert ist 5 und der Schrittwert ist eine negative Zahl, dh -1. Mit den obigen Eingaben dekrementiert die Funktion range () den Wert ab 15, bis er den Stoppwert erreicht, aber hier ist die Differenz der letzte Wert, der Stopp + 1 ist.

Verwenden von schwebenden Zahlen im Python-Bereich ()

Lassen Sie uns nun den Bereich () mit Gleitkommazahlen bearbeiten.

Beispiel:

for i in range(10.5):print(i, end =" ")

Im obigen Beispiel haben wir den Stoppwert als 10,5 verwendet.

Die Ausgabe ist:

Traceback (most recent call last):File "python_range.py", line 1, in for i in range(10.5):TypeError: 'float' object cannot be interpreted as an integer

Python gibt einen Fehler aus, da die Funktion range () keine Gleitkommazahlen für Start, Stopp und Schritt unterstützt.

For-Schleife mit Python-Bereich verwenden ()

In diesem Beispiel verwenden wir ein Array von Zahlen und lassen uns sehen, wie das Array innerhalb der for-Schleife mit range () iteriert wird.

Beispiel:

arr_list = ['Mysql', 'Mongodb', 'PostgreSQL', 'Firebase']for i in range(len(arr_list)):print(arr_list[i], end =" ")

Ausgabe:

MysqlMongodb PostgreSQL Firebase

Im obigen Beispiel haben wir len (arr_list) als Stoppwert verwendet. Die for-Schleife iteriert bis zum Stoppwert, dh der Länge des Arrays, und das ist 4, da wir vier Elemente in der arr_list haben. Der Startwert ist 0 und der Schritt ist 1. Die Werte beginnen also bei 0 und enden bei 3, dh bei der Länge des Arrays -1, was 4 -1 = 3 bedeutet.

Verwenden von Python range () als Liste

In diesem Beispiel wird gezeigt, wie die Ausgabe aus dem Bereich als Liste verwendet wird.

Beispiel:

print(list(range(10)))

Ausgabe:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Sie können sehen, dass die Ausgabe ein Listenformat ist. Es war nicht erforderlich, den Bereich () zu schleifen, und mit der Methode list () konnten wir die Ausgabe direkt vom Bereich in das Listenformat konvertieren.

Verwenden von Zeichen im Python-Bereich ()

Bisher haben wir Ganzzahlen im Python-Bereich () verwendet. Wir haben auch gesehen, dass Gleitkommazahlen im Python-Bereich nicht unterstützt werden. Lassen Sie uns versuchen, die Ausgabe zu sehen, was passiert, wenn wir Zeichen verwenden.

Beispiel:

for c in range ('z'):print(c, end =" ")

Ausgabe:

Traceback (most recent call last):File "python_range.py", line 1, in for c in range ('z'):TypeError: 'str' object cannot be interpreted as an integer

Es wird ein Fehler ausgegeben, der besagt, dass eine Zeichenfolge nicht als Ganzzahl interpretiert werden kann.

Um die Liste der Alphabete zu erhalten, können Sie den Code anpassen und die gewünschten Ausgaben erhalten, wie unten gezeigt:

Beispiel:

def get_alphabets(startletter, stopletter, step):for c in range(ord(startletter.lower()), ord(stopletter.lower()), step):yield chr(c)print(list(get_alphabets("a", "h", 1)))

Ausgabe:

['a', 'b', 'c', 'd', 'e', 'f', 'g']

So greifen Sie auf Bereichselemente zu

Sie können eine for-Schleife verwenden, um die Werte aus dem Bereich abzurufen, oder den Index verwenden, um auf die Elemente aus range () zuzugreifen.

For-Schleife verwenden

Beispiel:

for i in range(6):print(i)

Ausgabe:

012345

Index verwenden

Der Index wird mit Bereich verwendet, um den an dieser Position verfügbaren Wert abzurufen. Wenn der Bereichswert 5 ist, können Sie zum Abrufen des Startwerts den Bereich (5) [0] und den nächsten Wertebereich (5) [1] usw. verwenden.

Beispiel:

startvalue = range(5)[0]print("The first element in range is = ", startvalue)secondvalue = range(5)[1]print("The second element in range is = ", secondvalue)lastvalue = range(5)[-1]print("The first element in range is = ", lastvalue)

Ausgabe:

startvalue = range(5)[0]print("The first element in range is = ", startvalue)secondvalue = range(5)[1]print("The second element in range is = ", secondvalue)lastvalue = range(5)[-1]print("The first element in range is = ", lastvalue)

Verwenden von list ()

Diese Methode druckt alle Elemente aus dem Bereich (). Mit list () werden die Elemente von range () im Listenformat zurückgegeben.

Beispiel:

print(list(range(10)))

Ausgabe:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Es gibt die Listenausgabe für den angegebenen Bereich.

Beispiel: Mit range () erhalten Sie gerade Zahlen

Wenn Sie range () verwenden, wird die Liste der geraden Zahlen in dem als Eingabe angegebenen Bereich angezeigt. Die Parameter für range () sind start, 2, stop 20 und step 2, sodass die Werte um 2 erhöht werden und bis stop-2 gerade Zahlen ergeben.

Beispiel:

for i in range(2, 20, 2):print(i, end =" ")

Ausgabe:

2 4 6 8 10 12 14 16 18

Zusammenführen von Ausgängen mit zwei Bereichen ()

In diesem Beispiel werden 2 range () - Funktionen mit Hilfe der Funktion itertools module chain () verkettet.

Beispiel:

from itertools import chainprint("Merging two range into one")frange =chain(range(10), range(10, 20, 1))for i in frange:print(i, end=" ")

Ausgabe:

Merging two range into one0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

Verwenden von range () Mit NumPy

Das NumPy-Modul verfügt über die Funktion arange (), die funktioniert und eine ähnliche Ausgabe wie range () liefert. Arrangement () verwendet dieselben Parameter wie range ().

Syntax:

arange(start, stop, step)

Führen Sie die folgenden Schritte aus, um mit NumPy zu arbeiten.

Schritt 1 : Importieren Sie das NumPy-Modul

import numpy

Wenn während der Ausführung ein Fehler angezeigt wird, der besagt, dass das numpy-Modul nicht gefunden wurde, müssen Sie das Modul wie in Schritt 2 gezeigt installieren.

Schritt 2 : Installieren Sie NumPy

pip install numpy

Schritt 3 : Arbeitsbeispiel für arange () mit NumPy

import numpy as npfor i in np.arange(10):print(i, end =" ")

Ausgabe:

0 1 2 3 4 5 6 7 8 9

Gleitkommazahlen mit NumPy arange ()

Es ist nicht möglich, die Gleitkommasequenz mit range () abzurufen, aber mit NumPy arange ().

Beispiel:

Der gewünschte Bereich liegt zwischen 0,5 und 1,5. Der Wert wird um 0,2 erhöht.

import numpy as npfor i in np.arange(0.5, 1.5, 0.2):print(i, end =" ")

Ausgabe:

0.5 0.7 0.8999999999999999 1.0999999999999999 1.2999999999999998

Die Ausgabe, die wir erhalten, ist etwas seltsam. Einige der Gleitkommazahlen werden mit 16 Dezimalstellen angezeigt. Dies liegt an der Komplexität des Speicherns von schwebenden Dezimalzahlen im Binärformat. Bei Bedarf können Sie die Werte auch runden und auf die von Ihnen benötigten Dezimalstellen beschränken.

Zusammenfassung:

  • Python range () ist eine integrierte Funktion, die mit Python von Python (3.x) verfügbar ist und eine Folge von Zahlen basierend auf dem angegebenen Start- und Stoppindex angibt. Wenn der Startindex nicht angegeben wird, wird der Index als 0 betrachtet und der Wert wird bis zum Stoppindex erhöht.
  • Python range () wurde ab Python Version 3 eingeführt, bevor xrange () die Funktion war.
  • Der Bereich () gibt die Reihenfolge der Zahlen an und gibt eine Liste der Zahlen zurück. Die Funktion xrange () gibt ein Generatorobjekt an, das in einer for-Schleife geloopt werden muss, um die Werte zu erhalten.
  • Der Parameterschritt in range () kann zum Inkrementieren / Dekrementieren der Werte verwendet werden. Standardmäßig ist es ein positiver Wert 1. Es werden also immer inkrementierte Werte angegeben.
  • Python gibt einen Fehler für Gleitkommazahlen aus, da die Funktion range () nur ganzzahlige Werte unterstützt.
  • Auf die Werte von range () kann mit for-loop, index und list () zugegriffen werden.
  • Das NumPy-Modul verfügt über die Funktion arange (), die funktioniert und eine ähnliche Ausgabe wie range () liefert. Arange () akzeptiert dieselben Parameter wie range ().
  • Es ist möglich, die Gleitkomma-Sequenz NumPy arange () abzurufen, die mit range () nicht unterstützt wird.