In diesem Artikel lernen Sie, wie Sie mit den verschiedenen Varianten der for-Schleife über eine Folge von Elementen iterieren können.
Was ist eine for loop in Python?
Table of Contents
Die for-Schleife in Python wird verwendet, um über eine Sequenz (Liste, Tupel, String) oder andere iterierbare Objekte zu iterieren. Das Iterieren über eine Sequenz wird als Traversal bezeichnet.
Syntax von for-Schleife
for val in sequence: Körper von for
Hier, val
ist die Variable, die bei jeder Iteration den Wert des Elements innerhalb der Sequenz annimmt.
Die Schleife wird fortgesetzt, bis das letzte Element in der Sequenz erreicht ist. Der Körper der for-Schleife wird durch Einrückung vom restlichen Code getrennt.
Flussdiagramm der for-Schleife
Beispiel: Python for-Schleife
# Programm zur Ermittlung der Summe aller in einer Liste gespeicherten Zahlen # Liste der Nummern numbers = [6, 5, 3, 8, 4, 2, 5, 4, 11] # Variable zum Speichern der Summe sum = 0 # über die Liste iterieren for val in numbers: sum = sum+val print("Die Summe ist", sum)
Wenn Sie das Programm ausführen, wird die Ausgabe sein:
Die Summe ist 48
The range() Funktion
Wir können eine Folge von Zahlen erzeugen, indem wir range()
Funktion. range(10)
erzeugt Zahlen von 0 bis 9 (10 Zahlen).
Wir können auch die Start-, Stopp- und Schrittgröße definieren als range(start, stop,step_size)
. step_size Der Standardwert ist 1, wenn nicht angegeben.
Die range
Objekt ist in gewissem Sinne “faul”, weil es nicht jede Zahl, die es “enthält”, generiert, wenn wir es erstellen. Er ist jedoch kein Iterator, da er die in
, len
and __getitem__
Operationen.
Die range
Objekt ist in gewissem Sinne “faul”, weil es nicht jede Zahl, die es “enthält”, generiert, wenn wir es erstellen. Es ist jedoch kein Iterator, da es unterstützt in
, len
and __getitem__
operationen.
Diese Funktion speichert nicht alle Werte im Speicher; es wäre ineffizient. So merkt es sich Start, Stopp, Schrittweite und generiert unterwegs die nächste Zahl.
Um diese Funktion zu zwingen, alle Elemente auszugeben, können wir die Funktion list()
.
Das folgende Beispiel soll dies verdeutlichen.
print(range(10)) print(list(range(10))) print(list(range(2, 8))) print(list(range(2, 20, 3)))
Output
range(0, 10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] [2, 3, 4, 5, 6, 7] [2, 5, 8, 11, 14, 17]
Wir können die nutzen range()
Funktion in for
Schleifen, um eine Zahlenfolge zu durchlaufen. Es kann kombiniert werden mit dem len()
Funktion zum Durchlaufen einer Sequenz mit Indizierung. Hier ist ein Beispiel.
# Programm zum Durchlaufen einer Liste mit Indizierung genre = ['pop', 'rock', 'jazz'] # über die Liste mit Hilfe des Index iterieren for i in range(len(genre)): print("Ich mag", genre[i])
Output
Ich mag pop Ich mag rock Ich mag jazz
for-Schleife mit else
Ein for
schleife kann eine optionale haben else
auch blockieren. Das else
part wird ausgeführt, wenn die Elemente in der für Schleife verwendeten Sequenz erschöpft sind.
Das break
Schlüsselwort kann verwendet werden, um eine for-Schleife zu stoppen. In solchen Fällen wird der else-Teil ignoriert.
Daher wird der else-Teil einer for-Schleife ausgeführt, wenn keine Unterbrechung auftritt.
Hier ist ein Beispiel, um dies zu veranschaulichen.
digits = [11, 12, 15] for i in digits: print(i) else: print("Keine Artikel übrig.")
Wenn Sie das Programm ausführen, lautet die Ausgabe:
11 12 15 Keine Artikel übrig.
Hier druckt die for-Schleife Elemente der Liste, bis die Schleife erschöpft ist. Wenn die for-Schleife erschöpft ist, führt sie den Codeblock im else
und druckt Keine Artikel übrig.
Diese for...else
anweisung kann mit dem verwendet werden break
Stichwort zum Ausführen der else
nur blockieren, wenn die break
Schlüsselwort wurde nicht ausgeführt. Nehmen wir ein Beispiel:
# Programm zum Anzeigen von Schülernoten aus der Aufzeichnung student_name = 'Soyuj' marks = {'James': 90, 'Jules': 55, 'Arthur': 77} for student in marks: if student == student_name: print(marks[student]) break else: print('Kein Eintrag mit diesem Namen gefunden.')
Output
Kein Eintrag mit diesem Namen gefunden.