Python range() Funktion:Float, List, For-Schleife Beispiele
Was ist Python Range?
Python range() ist eine integrierte Funktion, die mit Python von Python(3.x) verfügbar ist, und gibt eine Folge von Zahlen basierend auf dem angegebenen Start- und Stoppindex aus. Falls der Startindex nicht angegeben ist, wird der Index als 0 betrachtet und der Wert um 1 bis zum Stoppindex erhöht.
Beispielsweise gibt range(5) die Werte 0,1,2,3,4 aus. Der Python-Befehl range() ist ein sehr nützlicher Befehl und wird meistens verwendet, wenn Sie mit einer for-Schleife iterieren müssen.
In diesem Tutorial lernen Sie:
- Was ist Python Range?
- Syntax
- Python range() Funktion und Verlauf
- Bereich() verwenden
- Verwendung von start und stop in range()
- Mit Start, Stopp und Schritt
- Inkrementieren der Werte im Bereich mit einem positiven Schritt.
- Reverse Range:Dekrementieren der Werte in negativen Schritten.
- Verwendung von Gleitkommazahlen in Python range()
- For-Schleife mit Python range() verwenden
- Python range() als Liste verwenden
- Zeichen im Python-Bereich verwenden()
- Zugriff auf Bereichselemente
- Beispiel:Erhalten Sie gerade Zahlen mit range()
- Zwei-Range()-Ausgaben zusammenführen
- Range() mit NumPy verwenden
Syntax
range(start, stop, step)
Parameter
- Start: (optional) Der Startindex ist eine Ganzzahl, und wenn nicht angegeben, ist der Standardwert 0.
- Halt: 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 es 1.
Rückgabewert:
Der Rückgabewert ist eine Zahlenfolge vom angegebenen Start- bis zum Stoppindex.
Python range() Funktion und Geschichte
Python range() wurde ab Python Version 3 eingeführt, davor war xrange() die Funktion.
Sowohl range als auch xrange() werden verwendet, um eine Zahlenfolge zu erzeugen.
Im Folgenden sind die Unterschiede zwischen range und xrange() aufgeführt:
range() | Bereich() |
---|---|
Der Bereich() gibt die Zahlenfolge an und gibt eine Liste von Zahlen zurück. | Die Funktion xrange() ergibt ein Generatorobjekt, das in einer for-Schleife durchlaufen werden muss, um die Werte zu erhalten. |
Der Bereich() gibt eine Liste zurück. | xrange() gibt ein Generatorobjekt zurück. |
Die Methode range() verbraucht mehr Speicher, da die zurückgegebene Liste im Vergleich zu xrange() gespeichert werden muss. | Da xrange() ein Generatorobjekt zurückgibt, gibt es die Werte nicht sofort aus und muss innerhalb der for-Schleife verwendet werden, um die Werte zu erhalten. |
Die Speichernutzung ist höher, daher ist die Codeausführung langsam, wenn mit einer großen Menge an Daten gearbeitet wird. | Die Codeausführung ist mit xrange() schneller. |
Bereich verwenden ()
Dieses Beispiel zeigt, wie die Werte von 0-9 mit range() gedruckt werden.
Der im Bereich verwendete Wert ist 10, die Ausgabe ist also 0 1 2 3 4 5 6 7 8 9
Da der Start nicht gegeben ist, wird der Start als 0 betrachtet und der letzte Wert wird bis 9 gegeben. Der letzte Wert ist immer 1 kleiner als der gegebene Wert, d.h. Stopp-1.
for i in range(10): print(i, end =" ")
Ausgabe:
0 1 2 3 4 5 6 7 8 9
Benutze start und stop in range()
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), d. h. 9. Der Schritt ist 2, also wird jeder Wert in der Folge um 2 erhöht werden. Wenn der Schrittwert nicht angegeben ist, wird der Wert für Schritt standardmäßig auf 1 gesetzt.
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. Lassen Sie uns nun ein Beispiel versuchen, um den dekrementierten Wert im angegebenen Bereich zu erhalten.
Inkrementieren der Werte im Bereich mit einem positiven Schritt.
Der Parameter step in range() kann zum Inkrementieren/Dekrementieren der Werte verwendet werden. Standardmäßig ist es ein positiver Wert 1. Es werden also immer inkrementierte Werte ausgegeben.
Der Schrittwert muss positiv sein, falls Sie inkrementierte Werte als Ausgabe haben möchten.
for i in range(1, 30, 5): print(i, end =" ")
Ausgabe:
1 6 11 16 21 26
Reverse Range:Verringern der Werte in negativen Schritten.
Der Parameter step mit negativem Wert in range() kann verwendet werden, um dekrementierte Werte zu erhalten. Im Beispiel unten ist der Schrittwert negativ, sodass der Ausgang vom 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, d. h. -1. Mit den obigen Eingaben wird die Funktion range() den Wert ab 15 dekrementieren, bis er den Stoppwert erreicht, aber hier ist die Differenz, dass der letzte Wert Stopp + 1 ist.
Verwendung von Gleitkommazahlen im Python-Bereich()
Lassen Sie uns nun mit Gleitkommazahlen an range() arbeiten.
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 <module> 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 Fließkommazahlen für Start, Stopp und Schritt unterstützt.
For-Schleife mit Python-Bereich verwenden()
In diesem Beispiel verwenden wir ein Array von Zahlen und sehen uns an, wie man das Array innerhalb der for-Schleife mit range()
iteriertBeispiel:
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, d. h. 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 die Länge des Arrays -1 bedeutet 4 -1 =3.
Python range() als Liste verwenden
In diesem Beispiel wird gezeigt, wie man die Ausgabe von range als Liste verwendet.
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 notwendig, range() zu loopen, und mit der list()-Methode konnten wir die Ausgabe direkt vom Range- in das Listenformat konvertieren.
Zeichen im Python-Bereich verwenden()
Bisher haben wir Integer in python range() 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 <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:
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']
Zugriff auf Bereichselemente
Sie können eine for-Schleife verwenden, um die Werte aus dem Bereich abzurufen, oder den Index verwenden, um auf die Elemente von range() zuzugreifen.
For-Schleife verwenden
Beispiel:
for i in range(6): print(i)
Ausgabe:
0 1 2 3 4 5
Index verwenden
Der Index wird mit Bereich verwendet, um den an dieser Position verfügbaren Wert zu erhalten. Wenn der Bereichswert 5 ist, um den Startwert zu erhalten, können Sie range(5)[0] und den nächsten Wertebereich(5)[1] und so weiter 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)
Mit list()
Diese Methode gibt alle Elemente aus range() aus. Mit list() werden die Elemente aus 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:Erhalte gerade Zahlen mit range()
Durch die Verwendung von range() wird die Liste der geraden Zahlen in dem als Eingabe angegebenen Bereich abgerufen. Die Parameter für range() sind start ist 2, stop ist 20 und step ist 2, also werden die Werte um 2 erhöht und ergeben gerade Zahlen bis stop-2.
Beispiel:
for i in range(2, 20, 2): print(i, end =" ")
Ausgabe:
2 4 6 8 10 12 14 16 18
Zwei-Range()-Ausgaben zusammenführen
In diesem Beispiel werden 2 range()-Funktionen mit Hilfe der itertools module chain()-Funktion verkettet.
Beispiel:
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=" ")
Ausgabe:
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
Range() mit NumPy verwenden
Das NumPy-Modul hat eine arange()-Funktion, die funktioniert und eine ähnliche Ausgabe wie range() liefert. Das Arrange() übernimmt die gleichen Parameter wie Range().
Syntax:
arange(start, stop, step)
Um mit NumPy zu arbeiten, folgen Sie den unten angegebenen Schritten.
Schritt 1 :NumPy-Modul importieren
import numpy
Falls 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 np for 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 Fließkommasequenz mit range() zu erhalten, aber es ist möglich 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 np for 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 Float-Zahlen werden mit 16 Dezimalstellen angezeigt. Dies geschieht aufgrund der Komplexität des Speicherns von dezimalen Gleitkommazahlen im Binärformat. Sie können die Werte bei Bedarf auch runden und auf die von Ihnen benötigten Nachkommastellen begrenzen.
Zusammenfassung:
- Python range() ist eine integrierte Funktion, die mit Python von Python(3.x) verfügbar ist, und sie gibt eine Folge von Zahlen basierend auf dem angegebenen Start- und Stoppindex aus. Falls der Startindex nicht angegeben ist, wird der Index als 0 betrachtet und der Wert bis zum Stoppindex erhöht.
- Python range() wurde ab Python Version 3 eingeführt, davor war xrange() die Funktion.
- Der Bereich() gibt die Folge von Zahlen an und gibt eine Liste von Zahlen zurück. Die xrange()-Funktion liefert ein Generatorobjekt, das in einer for-Schleife durchlaufen werden muss, um die Werte zu erhalten.
- Der Parameter step in range() kann zum Inkrementieren/Dekrementieren der Werte verwendet werden. Standardmäßig ist es ein positiver Wert 1. Es werden also immer inkrementierte Werte ausgegeben.
- Python gibt einen Fehler für Fließkommazahlen aus, da die range()-Funktion nur ganzzahlige Werte unterstützt.
- Auf die Werte von range() kann mit einer for-Schleife, mit index und list() zugegriffen werden
- Das NumPy-Modul hat eine arange()-Funktion, die funktioniert und eine ähnliche Ausgabe wie range() liefert. arange() übernimmt dieselben Parameter wie range().
- Es ist möglich, die nicht unterstützte Fließkommafolge NumPy arange() mit range() abzurufen.
Python
- Python-Funktionsargumente
- Anonyme Python/Lambda-Funktion
- Python-Generatoren
- Python-Lambda-Funktionen mit BEISPIELE
- Python abs() Funktion:Beispiele für absolute Werte
- Python-Funktion round() mit BEISPIELE
- Python range() Funktion:Float, List, For-Schleife Beispiele
- Python map() Funktion mit BEISPIELE
- Enumerate() Funktion in Python:Loop, Tuple, String (Beispiel)
- Python List count() mit BEISPIELE