Python Tutorial
- jetzt Python programmieren lernen

range() – Listen erstellen und mit Werten füllen

Wir haben bisher unsere Listen immer von Hand gefüllt. Nun lernen wir die Python-Funktion range kenne.

Über die Funktion range können wir eine Liste erstellen, die von einem vorgegebenen Wert bis zu einem vorgegebenen Wert geht.

werte = range(3)
print(werte)

Als Ergebnis erhalten wir

[0, 1, 2]

Der Wert startet bei 0 und zählt dann 3 Zahlen hoch. Wir kommen also bei einer Zahl eins kleiner als unser vorgegebener Endwert raus.

Die range-Funktion können wir nun in den aus dem vorherigen Kapitel eingesetzten for-Schleifen nutzen:

for durchgang in range(3):
	print(durchgang)

Als Ergebnis erhalten wir

0

1

2

Somit wird die for-Schleife deutlich ähnlicher wie diese bei anderen Programmiersprachen ist. Aber die Umsetzung in Python ist deutlich clever da diese so flexibler ist.

Aber zurück zu unserer range-Funktion.

von-bis bei range-Funktion

Wenn wir bei der range-Funktion nur einen Wert angeben, ist das der Endwert und es wird bei 0 angefangen. Wir können aber auch den Startwert angeben. Somit brauchen wir 2 Werte bei der range-Funktion, die durch ein Komma getrennt werden.

werte = range(2,8)
print(werte)

Wir erhalten nun eine Liste mit den Werten:

werte[2,3,4,5,6,7]

Hier sieht man, dass die Aussage von vorher, dass "3-Zahlen ab 0" so nicht ganz richtig ist. Bei der range-Funktion wird eins kleiner wie die "Endzahl" genutzt. Im Beispiel haben wir 8 angegeben und erhalten in der Liste dann als größte Zahl 7.

Schrittweite (Schrittgröße) bei range

Neben dem Anfangswert und "Endwert-1" können wir auch die Schrittweite angeben. Somit kommen wir aus dem Standard mit der einer Schrittweite raus und können für unsere Anwendung geschickte Schrittweite festlegen. Diese Angabe wird als dritter Wert mitgegeben. Erweitern wir unser Beispiel, dass in 2-er Schritten vorgegangen werden soll.

werte = range(2,8,3)
print(werte)

Wir erhalten er Ergebnis:

werte[2, 4, 6]

Die 8 ist raus, da ja nur Endwert-1 bei range genutzt wird.

Es kann auch negative Schrittweiten angegeben werden. Dazu muss dann der Startwert größer sein als der Endwert:

werte = range(12,8,-1)
print(werte)

Wir erhalten er Ergebnis:

werte[12, 11, 10, 9]

Das Ganze geht natürlich auch ins Minus, wenn das bei den End- bzw. Anfangswerte angegeben wurde:

werte = range(3,-3,-1)
print(werte)

Wir erhalten er Ergebnis:

werte[3, 2, 1, 0, -1, -2]