for-Schleife in Python. Syntax, Listeniteration, Break, Continue und andere Features

Цikl für Python i Zyklus während – Anweisungen Software. Sprache, nämlich: Iterationsoperatoren, letIng. Code wiederholen gegebene Zahl Zeit.

Цикл für — сIntaxis

Wie bereits erläutert, cinclude for in Python ist ein Iterator, der auf basiertй pro ZyklusIdentität. ist er Handlungen durch Tupelelemente и Liste Wortschatz Schlüssel und Sonstiges Iterierbare Objekte.

Eine Schleife in Python beginnt mit dem Schlüsselwort for, gefolgt von einem beliebigen Variablennamen, der den Wert des nächsten Objekts in der gegebenen Sequenz speichert. Die allgemeine Syntax für for…in in Python sieht folgendermaßen aus:

für in: sonst:      

Komponenten "Sequenzen" finden Sie auch einer nach demanderen Zyklusvariable. Oder eher, Variable zeigt auf so Elemente. Für jeden ihrer „Aktion“ wird ausgeführt.

Eine einfache for-Schleife in Python mit einem konkreten Beispiel:

>>> Sprachen = ["C", "C++", "Perl", "Python"] >>> für x in Sprachen: ... print(x) ... C C++ Perl Python >>>

Der Else-Block ist etwas Besonderesth. Wenn ein Programmiererыarbeiten, с Perl vertrautы mit ihm, zur Verbesserung der Gesundheitsgerechtigkeit für diejenigen, die interagieren с C und C++ — das ist eine Neuerung. Semantisch es Funktionen тidentisch while-Schleife.

Wird nur ausgeführt, wenn die Schleife nicht durch die break-Anweisung „gestoppt“ wird. Das heißt, es wird erst ausgeführt, nachdem alle Elemente die angegebene Reihenfolge durchlaufen haben.

Break-Operator in Python – break

Wenn das Programm eine for-Schleife hat notwendig, unterbrechen Break-Anweisung, he abschließenes gehtund Programm Fluss werden wir Kontosein ohne Aktivierung von sonst.

Öfters Breakphrasen in Pythonuyutsya mit bedingten Aussagen.

edibles = ["Koteletts", "Knödel", "Eier", "Nüsse"] für Lebensmittel in Esswaren: if food == "Knödel": print("Ich esse keine Knödel!") break print("Großartig, lecker " + Essen) else: print("Gut, dass es keine Knödel gab!") print("Das Abendessen ist vorbei.")

Wenn Sie diesen Code ausführen, erhalten Sie das folgende Ergebnis:

Tolle, leckere Koteletts. Ich esse keine Knödel! Das Abendessen ist vorbei.

Wir entfernen „Knödel“ aus der bestehenden Datenliste und erhalten:

Ausgezeichnete, leckere Koteletts Ausgezeichnete, leckere Eier Ausgezeichnete, leckere Nüsse Gut, dass es keine Knödel gab! Das Abendessen ist vorbei.

Python Skip-Operator – fortfahren

Nehmen wir an, dass die Abneigung des Benutzers gegenüber solchen Produkten nicht so groß ist, dass er seinen Konsum vollständig aufgibt. Als Ergebnis wird die Schleife mit dem Operator fortgesetzt continue. Das folgende Skript verwendet die Anweisung continue, um weiter durch die Liste auf „Knödelkontakt“ zu iterieren.

edibles = ["Koteletts", "Knödel","Eier","Nüsse"] für Lebensmittel in Esswaren: if food == "Knödel": print("Ich esse keine Knödel!") Continue print("Toll, lecker " + Essen) # das könnte ein Code für Essensgenuss sein :-) sonst: print("Ich hasse Knödel!") print("Das Abendessen ist vorbei.")

Das Endergebnis:

Tolle, leckere Koteletts. Ich esse keine Knödel! Tolle, leckere Eier Tolle, leckere Nüsse Ich hasse Knödel! Das Abendessen ist vorbei.

Iteration über Listen mit der Funktion range()

Wenn Sie auf die Indizes einer Liste zugreifen möchten, ist es nicht klar, wie Sie zu diesem Zweck eine for-Schleife verwenden. Es ist möglich, auf alle Elemente zuzugreifen, aber der Index des Elements bleibt unzugänglich. Es gibt jedoch eine Methode, um sowohl auf den Index des Elements als auch auf das Element selbst zuzugreifen. Dazu wird die Funktion verwendet range() kombiniert mit der Längenfunktion len():

fibonacci = [0,1,1,2,3,5,8,13,21] für i in range(len(fibonacci)): print(i,fibonacci[i])

Bekommen:

0 0 1 1 2 1 3 2 4 3 5 5 6 8 7 13 8 21

Aufmerksamkeit! Bei Anwendung len() к list or tupleerhält man die entsprechende Anzahl von Elementen der gegebenen Folge.

Schwierigkeiten beim Iterieren über Listen

Beim Iterieren über eine Liste empfiehlt es sich, Listendynamiken im Schleifenkörper zu vermeiden. Zur Verdeutlichung können wir folgende Option anbieten:

colors = ["red"] für i in colors: if i == "red": colors += ["black"] if i == "black": colors += ["white"] print(colours)

Was passiert bei der Bewerbung print(colours)?

['rot', 'schwarz', 'weiß']

Um dies zu vermeiden, wird empfohlen, mit der Kopie mithilfe von Slices zu interagieren, wie im folgenden Beispiel:

colors = ["red"] for i in colors[:]: if i == "red": colors += ["black"] if i == "black": colors += ["white"] print(colours )

Ergebnis:

['Rot schwarz']

Die Liste wurde geändert colours, aber diese Aktion hatte keinen Einfluss auf die Schleife. Die zu iterierenden Daten blieben während der Ausführung der Schleife unverändert.

Aufzählen in Python 3

Enumerate ist eine eingebaute Python-Funktion. Die meisten Anfänger sowie einige erfahrene Programmierer sind sich seiner Existenz nicht bewusst. Es ermöglicht Ihnen, Iterationen der Schleife automatisch zu zählen. Zum Beispiel:

für Zähler, Wert in enumerate(some_list): print(counter, value)

Funktion enumerate akzeptiert auch ein optionales Argument (den Wert des Ursprungs, der standardmäßig für verwendet wird 0). Das macht es noch effizienter.

my_list = ['apple', 'banana', 'cherry', 'peach'] for c, value in enumerate(my_list, 1): print(c, value) # Ergebnis: # 1 Apfel # 2 Banane # 3 Kirsche # 4 Pfirsich

Hinterlassen Sie uns einen Kommentar