Python range()-Funktion: Float, List, For-Schleife Beispiele
⚡ Intelligente Zusammenfassung
Python range() ist eine eingebaute Funktion, die eine unveränderliche Folge von ganzen Zahlen von einem Startwert bis zu einem Endwert (ausschließlich) erzeugt, wobei optional ein Schritt zur Steuerung der Inkrementierung verwendet wird.
Was ist Python Bereich?
Python range() ist eine integrierte Funktion, die verfügbar ist mit Python ab Python (3.x) und gibt eine Zahlenfolge basierend auf dem angegebenen Start- und Stoppindex aus. Falls der Startindex nicht angegeben ist, wird der Index als 0 betrachtet und der Wert wird bis zum Stoppindex um 1 erhöht.
Beispielsweise gibt range(5) die Werte 0, 1, 2, 3, 4 aus. Python range() ist ein sehr nützlicher Befehl und wird hauptsächlich dann verwendet, wenn man iterieren muss. for-Schleife.
Syntax
Die Syntax der range()-Funktion ist unten dargestellt:
range(start, stop, step)
Kenngrößen
- Start: (optional) Der Startindex ist eine Ganzzahl. Wenn er nicht angegeben wird, ist der Standardwert 0.
- hör auf Der Stoppindex bestimmt den Wert, bei dem die Bereichsfunktion beendet werden soll. Er ist eine obligatorische Eingabe für die Bereichsfunktion. Der letzte Wert ist immer um 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 er 1.
Rückgabewert
Der Rückgabewert ist eine Zahlenfolge vom angegebenen Start- bis zum Stoppindex.
Python range() Funktion und Verlauf
Python range() wurde eingeführt von Python Version 3; davor hieß die Funktion xrange().
Sowohl range() als auch xrange() werden verwendet, um eine Zahlenfolge zu erzeugen.
Im Folgenden werden die Unterschiede zwischen range() und xrange() erläutert:
| Reichweite() | Bereich () |
|---|---|
| Die Funktion range() gibt die Zahlenfolge an und gibt eine Liste von Zahlen zurück. | Die Funktion xrange() gibt ein Generatorobjekt zurück, das in einer For-Schleife ausgeführt werden muss, um die Werte zu erhalten. |
| Die range() gibt eine Liste zurück. | xrange() gibt ein Generatorobjekt zurück. |
| Die Methode range() benötigt im Vergleich zu xrange() mehr Speicher, da die zurückgegebene Liste gespeichert werden muss. | Da xrange() ein Generatorobjekt zurückgibt, werden die Werte nicht sofort angezeigt und müssen innerhalb einer for-Schleife verwendet werden, um sie zu erhalten. |
| Der Speicherverbrauch ist höher, daher ist die Codeausführung langsam, wenn mit einer großen Datenmenge gearbeitet wird. | Die Codeausführung ist mit xrange() schneller. |
Verwenden von range()
Dieses Beispiel zeigt, wie die Werte von 0-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 Startwert nicht angegeben ist, wird er als 0 angenommen und der letzte Wert wird bis 9 angegeben. Der letzte Wert ist immer um 1 kleiner als der angegebene Wert, d. h. Stopp-1.
for i in range(10): print(i, end =" ")
Ausgang:
0 1 2 3 4 5 6 7 8 9
Verwenden von Start und Stop in range()
Im Code ist der Startwert 3 und der Endwert 10. Da der Startindex 3 ist, beginnt die Zahlenfolge bei 3 und endet beim Endwert. Der letzte Wert in der Folge ist um 1 kleiner als der Endwert, also 10 - 1 = 9.
for i in range(3, 10): print(i, end =" ")
Ausgang:
3 4 5 6 7 8 9
Verwenden von Start, Stopp und Schritt
Der Startwert ist 3, die Zahlenfolge beginnt also bei 3. Der Endwert ist 10, die Zahlenfolge endet also bei (10-1), also 9. Die Schrittweite beträgt 2, jeder Wert in der Folge wird also um 2 erhöht. Wird keine Schrittweite angegeben, wird standardmäßig 1 verwendet.
for i in range(3, 10, 2): print(i, end =" ")
Ausgang:
3 5 7 9
Bisher haben wir gesehen, wie die Funktion `range()` den inkrementierten Wert für den angegebenen Stoppwert liefert. Betrachten wir nun ein Beispiel, um den dekrementierten Wert innerhalb des angegebenen Bereichs zu erhalten.
Die Werte im Bereich werden in positiven Schritten erhöht.
Mit dem Parameter `step` in `range()` können Werte inkrementiert oder dekrementiert werden. Standardmäßig ist der Wert positiv, nämlich 1. Daher werden immer inkrementierte Werte ausgegeben.
Der Schrittwert muss positiv sein, wenn Sie inkrementierte Werte als Ausgabe wünschen.
for i in range(1, 30, 5): print(i, end =" ")
Ausgang:
1 6 11 16 21 26
Reverse Bereich: Verringern der Werte mit negativen Schritten
Der Parameter `step` mit einem negativen Wert in `range()` kann verwendet werden, um dekrementierte Werte zu erhalten. Im folgenden Beispiel ist der Wert für `step` negativ, daher wird der Ausgabewert vom angegebenen Bereichswert dekrementiert.
for i in range(15, 5, -1): print(i, end =" ")
Ausgang:
15 14 13 12 11 10 9 8 7 6
Der Startwert ist 15, der Endwert ist 5 und der Schrittwert ist eine negative Zahl, also -1. Mit den obigen Eingaben dekrementiert die Funktion range() den Wert von 15 an bis zum Endwert, wobei der letzte Wert hier Endwert + 1 ist.
Die Verwendung von Gleitkommazahlen in Python Reichweite()
Lassen Sie uns nun mit Gleitkommazahlen am Bereich () arbeiten.
Ejemplo:
for i in range(10.5): print(i, end =" ")
Im obigen Beispiel haben wir den Stoppwert auf 10.5 gesetzt.
Die Ausgabe ist:
Traceback (most recent call last): File "python_range.py", line 1, in <module> for i in range(10.5): TypeError: 'float' object cannot be interpreted as an integer
Python Es tritt ein Fehler auf, da die Funktion range() keine Gleitkommazahlen für Start, Stopp und Schritt unterstützt.
Verwenden einer For-Schleife mit Python Reichweite()
In diesem Beispiel verwenden wir ein Zahlenarray und sehen uns an, wie man das Array innerhalb einer for-Schleife mit range() durchläuft.
Ejemplo:
arr_list = ['Mysql', 'Mongodb', 'PostgreSQL', 'Firebase'] for i in range(len(arr_list)): print(arr_list[i], end =" ")
Ausgang:
MysqlMongodb PostgreSQL Firebase
Im obigen Beispiel haben wir `len(arr_list)` als Abbruchkriterium verwendet. Die for-Schleife durchläuft die Liste bis zum Abbruchkriterium, also bis zur Länge des Arrays, in diesem Fall 4, da `arr_list` vier Elemente enthält. Der Startwert ist 0 und die Schrittweite 1. Die Schleife beginnt also bei 0 und endet bei 3, also der Länge des Arrays minus 1, was 4 - 1 = 3 entspricht.
Die Verwendung von Python range() als Liste
In diesem Beispiel erfahren Sie, wie Sie die Ausgabe des Bereichs als Liste verwenden.
Ejemplo:
print(list(range(10)))
Ausgang:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Sie können sehen, dass die Ausgabe ein Listenformat ist. Es war nicht notwendig, die Funktion „range()“ in einer Schleife auszuführen, und mit der Methode „list()“ konnten wir die Ausgabe direkt vom Bereichsformat in das Listenformat konvertieren.
Verwendung von Zeichen im Python-Bereich ()
Bisher haben wir Ganzzahlen in Python range() verwendet. Wir haben auch gesehen, dass Gleitkommazahlen in Python range() nicht unterstützt werden. Lassen Sie uns versuchen, die Ausgabe zu sehen, was passiert, wenn wir Zeichen verwenden.
Ejemplo:
for c in range ('z'):
print(c, end =" ")
Ausgang:
Traceback (most recent call last):
File "python_range.py", line 1, in <module>
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ünschte Ausgabe erhalten, wie unten gezeigt:
Ejemplo:
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)))
Ausgang:
['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 über range() auf die Elemente zuzugreifen.
For-Schleife verwenden
Ejemplo:
for i in range(6):
print(i)
Ausgang:
0 1 2 3 4 5
Mit Index
Der Index wird mit Bereich verwendet, um den an dieser Position verfügbaren Wert abzurufen. Wenn der Bereichswert 5 ist, können Sie zum Erhalten des Startwerts range(5)[0] und den nächsten Wert range(5)[1] usw. verwenden.
Ejemplo:
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)
Ausgang:
The first element in range is = 0 The second element in range is = 1 The first element in range is = 4
Verwenden von list()
Diese Methode druckt alle Elemente aus range(). Mit list() werden die Elemente von range() im Listenformat zurückgegeben.
Ejemplo:
print(list(range(10)))
Ausgang:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Es gibt die Listenausgabe für den angegebenen Bereich.
Beispiel: Erhalten Sie gerade Zahlen mit range()
Die Funktion `range()` gibt die Liste der geraden Zahlen im angegebenen Bereich zurück. Die Parameter für `range()` sind: `start` = 2, `stop` = 20 und `step` = 2. Die Werte werden also jeweils um 2 erhöht, sodass die Liste der geraden Zahlen bis `stop-2` angezeigt wird.
Ejemplo:
for i in range(2, 20, 2): print(i, end =" ")
Ausgang:
2 4 6 8 10 12 14 16 18
Zwei-Range()-Ausgaben zusammenführen
In diesem Beispiel verketten wir zwei range()-Funktionen mithilfe der chain()-Funktion des itertools-Moduls.
Ejemplo:
from itertools import chain print("Merging two range into one") frange =chain(range(10), range(10, 20, 1)) for i in frange: print(i, end=" ")
Ausgang:
Merging two range into one 0 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 eine Funktion `arange()`, die ähnlich wie `range()` funktioniert und eine vergleichbare Ausgabe liefert. `arange()` akzeptiert dieselben Parameter wie `range()`.
Syntax:
arange(start, stop, step)
Um mit NumPy zu arbeiten, befolgen Sie die unten angegebenen Schritte.
Schritt 1:: NumPy-Modul importieren
import numpy
Falls während der Ausführung eine Fehlermeldung erscheint, dass das NumPy-Modul nicht gefunden wurde, müssen Sie das Modul wie in Schritt 2 beschrieben installieren.
Schritt 2:: Installieren Sie NumPy
pip install numpy
Schritt 3:: Arbeitsbeispiel von arange() mit NumPy
import numpy as np for i in np.arange(10): print(i, end =" ")
Ausgang:
0 1 2 3 4 5 6 7 8 9
Gleitkommazahlen mit NumPy arange()
Mit range() ist es nicht möglich, die Gleitkomma-Sequenz zu erhalten, wohl aber mit NumPy arange().
Ejemplo:
Der gewünschte Wertebereich liegt zwischen 0.5 und 1.5. Der Wert wird in Schritten von 0.2 erhöht.
import numpy as np for i in np.arange(0.5, 1.5, 0.2): print(i, end =" ")
Ausgang:
0.5 0.7 0.8999999999999999 1.0999999999999999 1.2999999999999998
Die Ausgabe ist etwas ungewöhnlich; manche Gleitkommazahlen werden mit 16 Nachkommastellen angezeigt. Dies liegt an der Komplexität der Speicherung von Dezimalzahlen im Binärformat. Sie können die Werte bei Bedarf runden und auf die benötigte Anzahl an Nachkommastellen beschränken.

