In diesem Artikel lernen Sie, eine Folge von Elementen mit den verschiedenen Variationen der for-Schleife zu durchlaufen.
Video: Python für Loop
Was ist für eine Schleife in Python?
Die for-Schleife in Python wird verwendet, um eine Sequenz (Liste, Tupel, Zeichenfolge) oder andere iterierbare Objekte zu durchlaufen. Das Iterieren über eine Sequenz wird als Durchqueren bezeichnet.
Syntax von for-Schleife
für val in der Reihenfolge: Körper von für
Hier val
ist die Variable, die bei jeder Iteration den Wert des Elements innerhalb der Sequenz annimmt.
Die Schleife wird fortgesetzt, bis wir das letzte Element in der Sequenz erreichen. Der Hauptteil der for-Schleife wird durch Einrücken vom Rest des Codes getrennt.
Flussdiagramm von for Loop
![](https://cdn.wiki-base.com/7695639/python_for_loop.jpg.webp)
Beispiel: Python for Loop
# Program to find the sum of all numbers stored in a list # List of numbers numbers = (6, 5, 3, 8, 4, 2, 5, 4, 11) # variable to store the sum sum = 0 # iterate over the list for val in numbers: sum = sum+val print("The sum is", sum)
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
Die Summe ist 48
Die range () Funktion
Mit der Funktion können wir eine Folge von Zahlen erzeugen range()
. range(10)
generiert Zahlen von 0 bis 9 (10 Zahlen).
Wir können auch die Start-, Stopp- und Schrittgröße als definieren range(start, stop,step_size)
. step_size ist standardmäßig 1, falls nicht angegeben.
Das range
Objekt ist in gewissem Sinne "faul", weil es nicht jede Zahl generiert, die es "enthält", wenn wir es erstellen. Es ist jedoch kein Iterator , da sie unterstützt in
, len
und __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 Nummer.
Um diese Funktion zu zwingen, alle Elemente auszugeben, können wir die Funktion verwenden list()
.
Das folgende Beispiel verdeutlicht dies.
print(range(10)) print(list(range(10))) print(list(range(2, 8))) print(list(range(2, 20, 3)))
Ausgabe
Bereich (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 range()
Funktion in for
Schleifen verwenden, um eine Folge von Zahlen zu durchlaufen. Es kann mit der len()
Funktion kombiniert werden, eine Sequenz mithilfe der Indizierung zu durchlaufen. Hier ist ein Beispiel.
# Program to iterate through a list using indexing genre = ('pop', 'rock', 'jazz') # iterate over the list using index for i in range(len(genre)): print("I like", genre(i))
Ausgabe
Ich mag Pop Ich mag Rock Ich mag Jazz
for-Schleife mit else
Eine for
Schleife kann auch einen optionalen else
Block haben. Das else
Teil wird ausgeführt, wenn die Elemente in der Sequenz, die für die Schleife verwendet wird, 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 = (0, 1, 5) for i in digits: print(i) else: print("No items left.")
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
0 1 5 Keine Artikel mehr vorhanden.
Hier druckt die for-Schleife Elemente der Liste, bis die Schleife erschöpft ist. Wenn die for-Schleife erschöpft ist, wird der Codeblock in ausgeführt else
und es werden keine Elemente mehr gedruckt.
Diese for… else
Anweisung kann mit dem break
Schlüsselwort verwendet werden, um den else
Block nur auszuführen , wenn das break
Schlüsselwort nicht ausgeführt wurde. Nehmen wir ein Beispiel:
# program to display student's marks from record student_name = 'Soyuj' marks = ('James': 90, 'Jules': 55, 'Arthur': 77) for student in marks: if student == student_name: print(marks(student)) break else: print('No entry with that name found.')
Ausgabe
Kein Eintrag mit diesem Namen gefunden.