python
for name in ['Anna', 'Ben', 'Cem']:
print(name)
for buchstabe in 'Hallo': # Strings sind ebenfalls Folgen
print(buchstabe)
for schluessel, wert in {'a': 1, 'b': 2}.items():
print(schluessel, wert)
Zählschleife mit range: range(stop) oder range(start, stop, step) erzeugt eine Zahlenfolge. Der Stopwert gehört nicht mehr dazu.
python
for i in range(5): # 0, 1, 2, 3, 4
print(i)
for i in range(2, 10, 3): # 2, 5, 8
print(i)
for i in range(10, 0, -1): # 10, 9, ..., 1
print(i)
| Funktion | Zweck | Parameter | Beispiel |
|---|---|---|---|
range(start, stop, step) |
Zahlenfolge | stop ist exklusiv; start Standard 0, step Standard 1 |
range(3) ergibt 0, 1, 2 |
enumerate(iterable, start=0) |
Liefert Paare aus Zähler und Element | start: erster Zählerwert |
for i, x in enumerate(liste, start=1): |
zip(*iterables) |
Läuft mehrere Folgen parallel | beliebig viele Folgen, endet bei der kürzesten | for n, a in zip(namen, alter): |
reversed(seq) |
Rückwärts durchlaufen | ||
sorted(iterable, key, reverse) |
Sortiert durchlaufen | wie in Kapitel 4 |
python
namen = ['Anna', 'Ben']
alter = [31, 25]
for nr, (n, a) in enumerate(zip(namen, alter), start=1):
print(nr, n, a) # 1 Anna 31 / 2 Ben 25
Schreibe nie for i in range(len(liste)), wenn du nur die Elemente brauchst. Nutze direkt for x in liste oder enumerate.