Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Python

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:

Syntax

range(start, stop, step)

Parameter

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()

iteriert

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, 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

  1. Python-Funktionsargumente
  2. Anonyme Python/Lambda-Funktion
  3. Python-Generatoren
  4. Python-Lambda-Funktionen mit BEISPIELE
  5. Python abs() Funktion:Beispiele für absolute Werte
  6. Python-Funktion round() mit BEISPIELE
  7. Python range() Funktion:Float, List, For-Schleife Beispiele
  8. Python map() Funktion mit BEISPIELE
  9. Enumerate() Funktion in Python:Loop, Tuple, String (Beispiel)
  10. Python List count() mit BEISPIELE