Python for-schleife zum verarbeiten von listenelementen
Eine Python for-Schleife geht jedes Element eines Iterables durch, daher bedeuten Suchen nach “python for loop” meist „diese Arbeit pro Element wiederholen“. Nutze sie, wenn du dieselbe Regel auf jedes Element einer Liste oder Sequenz anwenden und dabei Ergebnisse sammeln möchtest, wie Summen, Flags oder eine saubere Ergebnisliste. Sie hält wiederholte Arbeit lesbar, ohne manuelle Indizes.
Beispiel Für Eine Python For-Schleife Zum Iterieren Von Elementen
Ausgabe:
Die Ausgabe erscheint hier...
Ausgabe:
Erledigt: Bestellung versenden
Erledigt: Kunden-E-Mail senden
So Funktioniert Dieses Beispiel
Die Schleife läuft Element für Element, damit du dieselben Regeln konsistent anwenden kannst.
for task in tasksholt jede Zeichenkette aus der Liste.- Dieselbe Print-Aktion läuft für jedes Element.
- Die Ausgabe zeigt, dass die Schleife einmal pro Aufgabe lief.
Häufige Fehler
Fehler 1: Erwarten, dass range den Endwert einschließt.
# falsch: erwartet 1 bis 5
for day in range(1, 5):
print(day)
# Richtig: Range Stoppt Vor Dem Endwert
for day in range(1, 6):
print(day)
Das passiert, weil range das Ende exklusive behandelt, also der Stoppwert nie erzeugt wird.
Mehr dazu im Python range-Beispiel.
Fehler 2: Eine Liste während der Iteration ändern.
# Falsch: entfernen verschiebt die liste und kann nutzer überspringen
for user in users:
if user["inactive"]:
users.remove(user)
# Richtig: stattdessen eine neue liste bauen
active_users = []
for user in users:
if not user["inactive"]:
active_users.append(user)
Das Entfernen ändert die Liste, während die Schleife läuft, sodass einige Elemente nie besucht werden.
Fehler 3: for ... else falsch interpretieren.
# Falsch: Erwartet Else Nach Einem Break
for item in items:
if item["id"] == target_id:
break
else:
print("Element nicht gefunden")
# Richtig: Else Läuft Nur, Wenn Die Schleife Ohne Break Endet
for item in items:
if item["id"] == target_id:
print("Element gefunden")
break
else:
print("Element nicht gefunden")
Der else-Block wird nur ausgeführt, wenn die Schleife normal endet, daher überspringt ein break ihn.
for vs while: was nutzen?
Nutze for, wenn… | Nutze while, wenn… |
|---|---|
| Du eine Liste, ein range, eine Datei oder ein anderes Iterable verarbeitest. | Du darauf wartest, dass sich eine Bedingung ändert (Retries, Polling, Benutzereingabe). |
| Die Anzahl der Iterationen durch die Daten bestimmt wird. | Die Anzahl der Iterationen vorher unbekannt ist. |
| Du sauberes Iterieren über Elemente willst. | Du manuell steuern musst, wann gestoppt wird. |
Faustregel: Nutze for für „für jedes Element“, und while für „bis diese Bedingung erfüllt ist“.
Performance-Überlegungen
Eine for-Schleife ist O(n) über die Elemente. range() ist lazy, daher erzeugt das Iterieren über große Zahlenbereiche keine riesige Liste im Speicher. Wenn du nur den ersten Treffer brauchst, brich früh ab oder nutze next/any mit einem Generator, um den Durchlauf abzukürzen und unnötige Arbeit zu vermeiden.
Weitere Python for-schleifenmuster
Positionslabels mit enumerate hinzufügen.
tasks = ["Bestellung versenden", "Kunden-E-Mail senden", "CRM aktualisieren"]
for index, task in enumerate(tasks, start=1):
print(f"{index}. {task}")
Nutze enumerate, wenn du sowohl das Element als auch seine Position brauchst, ohne manuelle Zähler.
Siehe: Python enumerate-Beispiel.
Werte aus einem Dictionary mit .items() zusammenfassen.
region_sales = {"west": 1200, "mitte": 950, "ost": 1420}
for region, total in region_sales.items():
print(f"{region}: ${total}")
Das Iterieren über .items() hält Schlüssel und Werte zusammen, ideal für Reports.
Siehe das Python dict-Beispiel für Schlüssel/Wert-Lookups.
Wann du eine Python for-schleife verwenden solltest
- Du musst dieselbe Regel auf jede Bestellung, jeden Nutzer oder jede Dateizeile anwenden.
- Du möchtest einen klaren, lesbaren Durchlauf ohne manuelles Index-Management.
- Du musst während der Iteration Ergebnisse sammeln (Summen, Issue-Listen).
- Vermeide sie, wenn du nur einen Treffer brauchst; kürze mit
next,anyoderallab.