Exkurs: Zahlenreihen erstellen#

Schauen wir uns nun die Funktion range() an, die man in vielen For-Loops braucht. Die Funktion range() erstellt eine Zahlenreihe einer bestimmten Länge. Das ist vor allem in zwei Situationen praktisch:

  1. Wenn uns der Inhalt der Liste, über die der For-Loop “looped”, eigentlich egal ist, wir aber eine Liste einer bestimmten Länge brauchen, um dem Loop zu sagen, wie oft er loopen soll. (Wir wollen einfach nur für jeden Chip einmal in die Hände klatschen, die Chips an sich sind uns aber eigentlich komplett egal.)

  2. Wenn wir tatsächlich über eine Liste mit einer Zahlenreihe loopen wollen, weil wir die Zahlen beispielsweise als Index beim Zugriff auf Listen verwenden wollen.

Schauen wir uns die Funktion range() mal genauer an. Geben wir nur ein Argument in die Funktion range() ein, so steht dieses Argument praktisch für die Länge der zurückgegebenen Sequenz, wobei das Argument ein int d.h. eine ganz Zahl sein muss. Beispiel:

range(3)
range(0, 3)

Ok, aber das sieht jetzt weder nach einer Zahlenreihe noch nach einer Liste aus. Tatsächlich gibt uns range() auch nicht direkt eine Zahlenreihe oder eine Liste zurück, sondern ein spezielles “range-Objekt”. Wenn wir wirklich eine Liste mit Zahlen haben wollen, müssen wir das erstellte range-Objekt noch mittels der Funktion list() in eine Liste umwandeln:

list(range(3))
[0, 1, 2]

Nun sehen wir besser, welche Sequenz an Zahlen range(3) produziert. Geben wir das Argument 3 in die Funktion ein, dann fängt range() bei 0 an zu “zählen” bis die Sequenz die Länge 3 erreicht hat. Wenn wir beispielsweise eine Sequenz der Länge 10 haben wollen, müssen wir entsprechend eine 10 als Argument angeben und wir bekommen eine Zahlenreihe von 0 bis 9 zurück:

list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]