Python für Loop

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 valist 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

Flussdiagramm von for Loop in Python

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 rangeObjekt 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, lenund __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 forSchleifen 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 forSchleife kann auch einen optionalen elseBlock haben. Das elseTeil wird ausgeführt, wenn die Elemente in der Sequenz, die für die Schleife verwendet wird, erschöpft sind.

Das breakSchlü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 elseund es werden keine Elemente mehr gedruckt.

Diese for… elseAnweisung kann mit dem breakSchlüsselwort verwendet werden, um den elseBlock nur auszuführen , wenn das breakSchlü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.

Interessante Beiträge...