Was ist Iteration?
Beim Programmieren bedeutet Iteration, eine Gruppe von Anweisungen zu wiederholen, meist mit einer Schleife, bis eine Bedingung erfüllt ist oder jedes Element einer Sammlung verarbeitet wurde. Jeder einzelne Durchlauf durch die wiederholten Anweisungen heißt ebenfalls Iteration.
Aktualisiert am 24. September 2026
Ein Programm, das 10.000 Nutzern eine Erinnerungs-E-Mail schickt, enthält nicht 10.000 Kopien des Sendecodes. Es enthält den Code einmal, in einer Schleife, und die Schleife führt ihn einmal pro Nutzer aus. Jeder Durchlauf ist eine Iteration, und die Schleife als Ganzes ist die Art, wie das Programm über seine Nutzer iteriert.
Wie Iteration funktioniert, Schritt für Schritt
Jede Schleife folgt demselben Zyklus:
- Prüfen. Teste die Bedingung der Schleife, einen Boolean: Gibt es noch ein Element, oder liegt der Zähler noch unter dem Limit?
- Ausführen. Ist die Antwort wahr, führe den Schleifenrumpf einmal aus.
- Aktualisieren. Geh zum nächsten Element oder ändere den Zähler.
- Wiederholen. Zurück zu Schritt 1. Ergibt die Prüfung falsch, macht das Programm mit dem Code nach der Schleife weiter.
Hier läuft der Rumpf fünfmal, und jede Iteration addiert die nächste Zahl zu einer laufenden Summe:
iteration 1 total is now 1
iteration 2 total is now 3
iteration 3 total is now 6
iteration 4 total is now 10
iteration 5 total is now 15
Done: 15
Die Variable total liegt außerhalb der Schleife, also behält sie ihren Wert von einer Iteration zur nächsten. Dieses Muster, eine Variable, die vor der Schleife gesetzt und in ihr aktualisiert wird, heißt Akkumulator, und es taucht in fast jeder Schleife auf, die etwas berechnet.
Zählschleifen und Bedingungsschleifen
Es gibt zwei Arten von Iteration. Bestimmte Iteration läuft eine bekannte Anzahl von Malen: einmal pro Element einer Liste oder einmal für jede Zahl von 1 bis 5. Pythons for-Schleife ist dafür gebaut, oft zusammen mit range().
Unbestimmte Iteration wiederholt sich, bis etwas eintritt, und die Anzahl der Durchläufe steht vorher nicht fest. Dafür passt eine while-Schleife:
8 years, balance 214.36
Geld, das um 10 % pro Jahr wächst, braucht 8 Jahre, um sich zu verdoppeln. Das Programm hat das durch Iterieren herausgefunden, nicht durch das Lösen einer Gleichung. Die Anleitungen zu for-Schleifen und while-Schleifen behandeln beide in Python.
Über eine Sammlung iterieren
Die meisten Schleifen durchlaufen eine Sammlung: die Elemente eines Arrays, die Zeichen eines Strings, die Zeilen einer Datei. Pythons for-Schleife gibt dir jedes Element direkt, und enumerate() fügt seine Position hinzu:
0 apple
1 banana
2 cherry
Im Hintergrund holt sich for mit iter() einen Iterator von der Sammlung und ruft dann pro Iteration einmal next() darauf auf. Diese Aufrufe kannst du auch selbst machen:
red
green
blue
no more items
Ohne den Standardwert löst das vierte next() eine StopIteration aus. Diese Exception ist das Signal, an dem eine for-Schleife erkennt, dass die Sammlung zu Ende ist.
Andere Sprachen schreiben dieselbe Idee anders. C zählt mit einem Index, während Java und JavaScript auch eine Schleife haben, die dir jedes Element direkt gibt:
for (int i = 0; i < 3; i++) {
printf("%s\n", colors[i]);
}
for (String color : colors) {
System.out.println(color);
}
for (const color of colors) {
console.log(color);
}
Iteration und Rekursion
Rekursion ist der andere Weg, Arbeit zu wiederholen: Eine Funktion ruft sich selbst mit einer kleineren Version des Problems auf, bis sie einen Fall erreicht, den sie direkt beantworten kann. Alles, was mit dem einen geschrieben ist, lässt sich mit dem anderen schreiben, aber sie verhalten sich unterschiedlich:
| Iteration | Rekursion | |
|---|---|---|
| Wie wiederholt wird | Eine Schleife springt zurück an ihren Anfang | Eine Funktion ruft sich selbst auf |
| Wann es endet | Die Schleifenbedingung wird falsch | Ein Basisfall ist erreicht |
| Speicher | Gleich viel für jede Anzahl von Durchläufen | Ein Stack-Frame für jeden noch offenen Aufruf |
| Typisches Versagen | Eine Endlosschleife | Stapelüberlauf (RecursionError in Python) |
| Passt gut zu | Listen, Zählern, Wiederholen bis zu einer Bedingung | Bäumen, verschachtelten Daten, Teile und herrsche |
Die Speicherzeile zählt in der Praxis. Python erlaubt standardmäßig etwa 1.000 verschachtelte Aufrufe, also scheitert eine rekursive Summe über 5.000 Zahlen, wo eine Schleife kein Problem hat:
5050 5050
12502500
sum_recursive(5000) failed: RecursionError
Die Visualisierung der Rekursion zeigt Schritt für Schritt, wie der Stapel der Aufrufe wächst und schrumpft.
Typische Fehler
Die Endlosschleife. Eine while-Schleife, deren Bedingung nie falsch wird, läuft, bis du das Programm stoppst. Die übliche Ursache ist ein vergessener Aktualisierungsschritt, etwa ein fehlendes count = count - 1.
Um eins daneben (off by one). range(1, 5) liefert 1, 2, 3 und 4, nicht 5, weil der Endwert ausgeschlossen ist. Eine Schleife, die einmal zu oft oder zu selten läuft, läuft trotzdem ohne Fehlermeldung und liefert eine falsche Antwort, also einen Logikfehler.
Eine Liste ändern, während du sie durchläufst. Wenn du Elemente aus der Liste entfernst, über die du gerade iterierst, überspringt die Schleife Elemente:
[1, 2, 3]
Eine 2 hat überlebt, weil das Entfernen der ersten 2 die zweite an eine Position verschoben hat, an der die Schleife schon vorbei war. Bau stattdessen eine neue Liste: numbers = [n for n in numbers if n != 2].
Wie es weitergeht
Schleifen durchlaufen Sammlungen, also ist was ein Array ist die passende Begleitseite, und was ein Boolean ist erklärt die Wahr-oder-falsch-Prüfungen, die entscheiden, wann eine Schleife endet. Wenn eine Schleife ohne Fehlermeldung ein falsches Ergebnis liefert, lies, was ein Logikfehler ist. Um das Schreiben von Schleifen zu üben, starte den Python-Kurs oder probier die Beispiele oben im Python Playground aus.
Häufig gestellte Fragen
Was ist ein Beispiel für eine Iteration?
for-Schleife, die jeden Namen in einer Liste von 100 Nutzern ausgibt, macht 100 Iterationen, eine pro Name. Eine while-Schleife, die so lange nach einem Passwort fragt, bis das richtige eingegeben wird, ist ebenfalls Iteration, auch wenn die Anzahl der Durchläufe vorher nicht feststeht.Was ist besser, Rekursion oder Iteration?
Ist Iteration dasselbe wie eine Schleife?
for oder while, und Iteration ist die Wiederholung, die sie ausführt. Ein einzelner Durchlauf durch den Schleifenrumpf heißt ebenfalls Iteration, also macht eine Schleife, die 5 Mal läuft, 5 Iterationen.Was ist der Unterschied zwischen Sprint und Iteration?
Was bedeutet iterierbar (Iterable)?
for durchlaufen kannst, etwa eine Liste, ein String, ein Dictionary, eine Datei oder ein range. In Python ist ein Objekt iterierbar, wenn iter() daraus einen Iterator erzeugen kann. Ganzzahlen sind nicht iterierbar, deshalb löst for x in 5: einen TypeError aus.