English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Der for-Schleife in Python kann alle Elemente einer Sequenz durchlaufen, wie eine Liste oder einen String.
Der for-Schleife in Python wird verwendet, um Sequenzen (list,tuple,string) oder anderen iterablen Objekten. Das Iterieren über eine Sequenz wird als Durchsuchen bezeichnet.
for val in sequence: Körper des for
Hier ist val die Variable, die den Wert des Elements in jeder Iteration enthält.
Die Schleife wird fortgesetzt, bis wir das letzte Element der Sequenz erreichen. Verwenden Sie Einrückung, um den Körper der for-Schleife vom Rest des Codes zu trennen.
# Das Programm sucht nach der Summe aller in der Liste gespeicherten Zahlen # Zahlenliste numbers = [6, 5, 3, 8, 4, 2, 5, 4, 11] # Variable zum Speichern des Gesamtwerts sum = 0 # Liste durchlaufen for val in numbers: sum = sum+val print("Die Summe beträgt", sum)
Wenn Sie das Programm ausführen, wird die Ausgabe sein:
Die Summe beträgt 48
Wir können die Nummerierungsfolge mit der Funktion range() generieren. range(10) erzeugt 0 bis9Zahlen zwischen10Zahlen).
Wir können auch den Start, das Ende und den Schritt als range(start, stop, step_size) definieren. Wenn nicht angegeben, ist der Standardwert für step_size1.
Der range-Objekt ist in gewisser Weise 'faul', da er nicht alle Zahlen, die er 'enthält', erstellt, wenn wir ihn erstellen. Aber es ist kein Iterator; es unterstützt in, len und getitem-Operationen.
Diese Funktion speichert nicht alle Werte im Speicher; das wäre ineffizient. Daher merkt sie sich den Start, das Ende und den Schritt und generiert die nächste Zahl im Lauf.
Um zu erzwingen, dass diese Funktion alle Elemente ausgibt, kann die Funktion list() verwendet werden.
Dieses Beispiel zeigt dies.
print(range(10)) print(list(range(10)) print(list(range(2, 8)) print(list(range(2, 20, 3))
Ausgaberesultat
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 range() -Funktion im for-Loop verwenden, um die numerische Sequenz zu iterieren. Sie kann mit der len() -Funktion kombiniert werden, um die Indizes der Sequenz zu durchsuchen. Dies ist ein Beispiel.
# Programm zum Durchsuchen der Liste mit Indizes genre = ['pop', 'rock', 'jazz'] # Durchsuchen der Liste mit Indizes for i in range(len(genre)): print('Ich mag', genre[i])
Wenn das Programm ausgeführt wird, ist die Ausgabe:
Ich mag Pop Ich mag Rock Ich mag Jazz
for-Loop kann auch einen optionalen else-Block haben.
Wenn die Elemente der Sequenz, die im for-Loop verwendet wird, verbraucht sind, wird der else-Teil ausgeführt.
Das break-Schlüsselwort kann verwendet werden, um den for-Loop zu stoppen. In diesem Fall wird der else-Teil ignoriert.
Daher wird der else-Teil des for-Loops ausgeführt, wenn keine Unterbrechung aufgetreten ist.
Dies ist ein Beispiel, um dies zu veranschaulichen.
digits = [0, 1, 5] for i in digits: print(i) else: print('Es gibt keine verbleibenden Projekte.')
Wenn das Programm ausgeführt wird, ist die Ausgabe:
0 1 5 Es gibt keine verbleibenden Projekte.
Hier wird der for-Loop die Elemente der Liste drucken, bis der Loop ausgeht. Wenn der for-Loop ausgeht, führt er den else-Codeblock aus und gibt "Es gibt keine verbleibenden Projekte".
for...else-Anweisungen können zusammen mit dem break-Schlüsselwort verwendet werden, um sicherzustellen, dass der else-Block nur ausgeführt wird, wenn das break-Schlüsselwort nicht ausgeführt wird. Lassen Sie uns ein Beispiel nennen:
# Programm zum Anzeigen der Noten der Schüler student_name = 'Soyuj' marks = {'James': 90, 'Jules': 55, 'Arthur': 77} for student in marks: if student == student_name: print(marks[student]) break else: print('Es wurde kein Eintrag mit diesem Namen gefunden.')
Ausgaberesultat
Es wurde kein Eintrag mit diesem Namen gefunden.