Du liest:
Python For Schleife: Wie du durch Elemente iterieren und Befehle wiederholen kannst

Python For Schleife: Wie du durch Elemente iterieren und Befehle wiederholen kannst

von Patrick
07.04.2020
Jetzt Python programmieren lernen

Sehr häufig ist es beim Programmieren notwendig, einzelne Elemente größerer Mengen an Daten zu manipulieren.
Oder für manche dieser Elemente spezielle Operationen auszuführen, wie zum Beispiel bestimmte Zeilen einer Tabelle auszulesen und diese anzuzeigen.
Das lässt sich am einfachsten mit der Python For Schleife bewerkstelligen, wie genau zeige wir dir im Folgenden.

1. Wie funktioniert eine For-Schleife in Python?

Eine Python For Schleife lässt dich auf jedes einzelne Element einer Sequenz zugreifen. Der Aufbau einer solchen Schleife ist an die natürliche Sprache angelehnt:

for Element in Sequenz:
    # Code zur Verarbeitung des Elements

2. Beispiele mit Listen und Zeichenketten

Bei Zeichenketten wird jeder Buchstabe dieser einzeln zurückgegeben.

sequenz = 'CodeCitrus'
for element in sequenz:
    print(element)
C
o
d
e
C
i
t
r
u
s

Im Falle dass der Schleife eine Liste zu Grunde liegt, wird jedes einzelne Element dieser zurückgegeben.

sequenz = ['foo', 'bar', 'baz']
for element in sequenz:
    print(element)
foo
bar
baz

3. Code ausführen, wenn die Python For Schleife erfolgreich durchlaufen wurde mit for … else

In Python kannst du else verwenden, um Code auszuführen, der nur ausgeführt wird, wenn die Schleife erfolgreich durchlaufen wurde.

sequenz = [1, 2, 3]
for element in sequenz:
    print(element)
else:
    print('Fertig')

Output:

1
2
3
Fertig

Der Code in else wird auch ausgeführt, wenn die Sequenz keine Elemente hat. Nur im Zusammenhang mit break wird else nicht ausgeführt. Zu break später mehr.

4. Zähler in der Python For Schleife erhalten mit enumerate

Mit der eingebauten Funktion enumerate kannst du neben den einzelnen Elementen deiner Sequenz ebenfalls einen Zähler dazu ausgeben, wie hier gezeigt:

sequenz = ['foo', 'bar', 'baz']
for i, item in enumerate(sequenz):
    print(i, item)
0 foo
1 bar
2 baz

enumerate besitzt weiterhin einen optionalen Parameter, mit dem sich bestimmen lässt, mit welcher Zahl der Zähler beginnt:

for i, element in enumerate(sequenz, 42):
    print(i, element)
42 foo
43 bar
44 baz

5. Zahlenfolgen mit range

Eine weitere praktische Funktion in Kombination mit for ist range.
Diese gibt eine Zahlenfolge anhand verschiedener Parameter zurück.

range(anfangswert, endwert, schrittgröße)
  • anfangswert (optional)
    • Gibt die erste Zahl an, die zurückgegeben wird
    • Der Standardwert ist 0
  • endwert (erforderlich)
    • Gibt den Wert an, vor dem die Routine endet
  • schrittgröße (optional)
    • Gibt an, um wie viel die nächste zurückgegeben Zahl höher sein soll
    • Relativ zur vorigen
    • Der Standartwert ist 1

Mit einem Parameter

for i in range(3):
    print(i)
0
1
2

Mit Anfangs- und Endwert

for i in range(0, 10):
    print(i)
0
1
2
3
4
5
6
7
8
9

range mit Anfangs-, End- und Schrittparametern

for i in range(0, 64, 16):
    print(i)
0
16
32
48

6. Schleifenablauf ändern mit continue und break

Wenn du deine Schleife beenden möchtest (wenn zum Beispiel eine bestimmte Bedingung eintritt) geht das am einfachsten mit break.

for i in range(0, 64, 16):
    if i == 32:
        break
    print(i)
0
16

Wenn du unter bestimmten Bedingungen das nächste Element der Schleife aufrufen möchtest, statt mit dem aktuellen weiterzuarbeiten, ist das Schlagwort continue behilflich.

for i in range(0, 64, 16):
    if i == 32:
        continue
    print(i)
0
16
48

7. Fazit

Mit der for-Schleife können wir einfach auf einzelne Werte von Sequenzen zugreifen und diese nach Lust und Laune bearbeiten und/oder anzeigen lassen.

Mit den eingebauten Funktionen range und enumerate können wir zudem verschiedene Arten von Zählern verwenden.
Und mit break und continue den Ablauf der Schleife genauer kontrollieren.

Sind noch Fragen offen geblieben? Hast du noch Verbesserungsvorschläge?
Dann schreib uns unten in den Kommentaren.
Das kannst du gerne auch machen, wenn dir der Beitrag gefallen hat.
Du weißt ja ein Lob geht immer gut runter 🙂



Bislang gibt es keine Kommentare. Markier dein Revier und sei der Erste!

Schreibe einen Kommentar

Das könnte dich auch interessieren