Listen sind nicht nur in Python wichtig. Nahezu alle Programmiersprachen kennen Listen. Erfahre, wie du in Python mit den einzelnen Listenelementen arbeiten kannst.
Dieser Blog-Post zeigt dir anhand von Listen, wie du mit Python einfache Wiederholungen programmierst. Jede Programmiersprache kennt Wiederholungen. Lies nach, wie mit Python mit Hilfe des for
-Statements eine Liste iteriert, also durchlaufen, wird.
Beispiel eines for-Statements
korb = ['apfel', 'birne', 'banana'] for frucht in korb: print (frucht)
Probiere gleich aus: Öffne den Playground und kopiere den Code in das Eingabefeld, das du dort oben links findest.
Lies hier weiter, um zu verstehen, was da passiert.
for-Statements zum Iterieren in Listen
Zeilen 1 und 2
Das kennen wir schon: Eine Liste wird definiert und initialisiert und danach als Ganzes ausgegeben. Das Ergebnis besteht in der ersten Zeile der Ausgabe.
Zeilen 3 und 4
Die beiden Zeilen gehören zusammen. Mehr noch: Zeile 3 ist sinnlos ohne Zeile 4. Das Konstrukt wird etwa “for
-Loop” oder “for
-Schleife” genannt.
Zeile 3 ist der Kopf der Schleife (Header).
Zeile 4 ist der Rumpf der Schleife (Body). Statt nur einer Zeile, können hier auch mehrere Zeilen stehen.
Der Reihe nach:
for frucht in korb:
- Das ist der Kopf der for-Schleife. In Python bildet er ein eigenes Statement und steht auf einer eigenen Zeile.
- Das Schlüsselwort
for
leitet die Schleife ein. frucht
ist eine Variable und bezeichnet dasjenige Element der Liste, das wir gerade aus der Liste geholt haben und behandeln wollen.
in
ist wieder ein Schlüsselwort der Programmiersprache und wir im Zusammenhang mitfor
korb
ist eine Variable. Nicht alle Datentypen sind hier erlaubt – Listen hingegen schon. Die Variablekorb
haben wir ja als Liste initialisiert.- Wichtig ist der Doppelpunkt am Ende der Zeile. Fehlt er, dann gibt Python eine Fehlermeldung aus.
print(frucht)
Das ist der Rumpf der for-Schleife.. Dieser umfasst alle Statements, die für ein Element aus der Liste durchgeführt werden sollen. Der Variablen, die das Element enthält, haben wir im Kopf der Schleife schon eine Bezeichnung gegeben: frucht
. Im Rumpf der Schleife verwenden wir die Variable.
print()
diese Funktion kennen wir schon aus Listen definieren.- Beachte: die Befehle des Rumpfs werden eingerückt. Das ist in Python wichtig. Die Programmiersprache Java beispielsweise umgibt die Statements des Rumpfs mit geschweiften Klammern. Python ist sparsamer, doch das Einrücken ist sehr wichtig.
Der Rumpf könnte auch mehrere Statements umfassen. In dem Fall steht jedes Statement auf einer eigenen Zeile und alle Statements werden eingerückt.
Noch etwas: indent ist das englische Wort für einrücken und indentation steht für Einrückung.
Was passiert da?
Eine Liste ist ja eine Art Behälter für beliebig viele Elemente. Doch oft wollen wir die Liste nicht als Einheit behandeln, sondern wir wollen unsere Berechnungen mit den einzelnen Elementen anstellen.
Und genau dazu dient die for
-Schleife.
Die Elemente werden der Reihe nach aus der Liste geholt und einzeln behandelt.
In unserem Beispiel werden sie ausgegeben.
Das ist auch der Grund, warum die Elemente jetzt einzeln auf einer Zeile ausgegeben werden.
Python startet für jeden print
-Befehl eine neue Zeile.
In unserem Beispiel wird der print
-Befehl also drei Mal aufgerufen. Ein Mal pro Element in der Variablen korb. In der Fachsprache sagt man: die Liste wird iteriert – also durchlaufen.
Das ist so ähnlich, wie wenn wir einen Korb mit Früchten haben und einzeln die Früchte aus dem Korb holen und beispielsweise fotografieren.
Noch etwas zur Einrückung
Als Einrückungszeichen können wir den Tabulator oder eine beliebige Anzahl Leerzeichen verwenden – üblich sind 2 oder 4 Leerzeichen.
Für das Python-Skript (also den Code eines Python-Programms) müssen wir zwingend immer dieselbe Einrückungseinheit verwenden.
Genug Theorie – jetzt geht’s zur Anwendung!
Python Listen mit for interieren – einfache Übungen
Wende die Theorie praktisch an und vertiefe dein Verständnis.
Entwickle die Lösungen der Challenges im Playground und vergleiche deine Lösung mit den Beispiellösungen.
Schreib das folgende Programm
- Eine Variable mit Datentyp Liste und mit der Bezeichnung garage enthalte drei Werte, die deine Lieblingsautomarken bezeichnen.
- Gib die Automarken einzeln auf je einer Zeile aus.
Experimentiere mit eigenen Listen. Verwende auch unterschiedliche Anzahl Elemente in den Listen.
Challenge 1
Probiere diesen Code aus:
zahlen = [1, 2, 3, 4] for zahl in zahlen: print(zahl + zahl)
- Wie erklärst du das Ergebnis
- Ersetze * durch +
- Ersetze die Variable zahlen durch unsere Variable korb.
- Was passiert da?