So konstruieren Sie For-Schleifen in Python 3

Durch die Verwendung von Schleifen in der Computerprogrammierung können ähnliche Aufgaben mehrmals automatisiert und wiederholt werden. In diesem Tutorial werden wir Pythonsfor loop behandeln.

Einefor-Schleife implementiert die wiederholte Ausführung von Code basierend auf einem Schleifenzähler oder einer Schleifenvariablen. Dies bedeutet, dassfor-Schleifen am häufigsten verwendet werden, wenn die Anzahl der Iterationen vor dem Eintritt in die Schleife bekannt ist, im Gegensatz zuwhile loops, die bedingt basieren.

Für Schleifen

In Python sind die Schleifen vonforfolgendermaßen aufgebaut:

for [iterating variable] in [sequence]:
    [do something]

Das, was gerade ausgeführt wird, wird ausgeführt, bis die Sequenz beendet ist.

Schauen wir uns einefor-Schleife an, die einen Wertebereich durchläuft:

for i in range(0,5):
   print(i)

Wenn wir dieses Programm ausführen, sieht die Ausgabe folgendermaßen aus:

Output0
1
2
3
4

Diesefor-Schleife legti als iterierende Variable fest, und die Sequenz liegt im Bereich von 0 bis 5.

Dann drucken wir innerhalb der Schleife eine ganze Zahl pro Schleifeniteration aus. Denken Sie daran, dass wir bei der Programmierung in der Regel bei Index 0 beginnen. Deshalb liegen die Werte für 5 ausgedruckte Zahlen zwischen 0 und 4.

In der Regel werdenfor-Schleifen angezeigt und verwendet, wenn ein Programm einen Codeblock mehrmals wiederholen muss.

Für Schleifen mit range ()

Einer der in Python integrierten unveränderlichen Sequenztypen istrange(). In Schleifen wirdrange() verwendet, um zu steuern, wie oft die Schleife wiederholt wird.

Wenn Sie mitrange() arbeiten, können Sie zwischen 1 und 3 ganzzahlige Argumente übergeben:

  • start gibt den ganzzahligen Wert an, bei dem die Sequenz beginnt. Wenn dieser nicht enthalten ist, beginntstart bei 0

  • stop ist immer erforderlich und ist die Ganzzahl, die bis zu, aber nicht enthalten ist

  • step legt fest, um wie viel die nächste Iteration erhöht (oder bei negativen Zahlen verringert) werden soll. Wenn dies weggelassen wird, iststep standardmäßig 1

Wir werden uns einige Beispiele ansehen, wie verschiedene Argumente anrange() übergeben werden.

Lassen Sie uns zunächst nur das Argumentstopübergeben, sodass unsere Sequenzrange(stop) lautet:

for i in range(6):
   print(i)

Im obigen Programm ist das Argumentstop6, sodass der Code von 0 bis 6 iteriert (ohne 6):

Output0
1
2
3
4
5

Als Nächstes betrachten wirrange(start, stop) mit Werten, die übergeben werden, wann die Iteration beginnen und wann sie aufhören soll:

for i in range(20,25):
   print(i)

Hier reicht der Bereich von 20 (einschließlich) bis 25 (ausschließlich), die Ausgabe sieht also so aus:

Output20
21
22
23
24

Dasstep-Argument vonrange() ähneltspecifying stride while slicing strings insofern, als es zum Überspringen von Werten innerhalb der Sequenz verwendet werden kann.

Mit allen drei Argumenten stehtstep an der Endposition:range(start, stop, step). Verwenden wir zunächst einstep mit einem positiven Wert:

for i in range(0,15,3):
   print(i)

In diesem Fall wird diefor-Schleife so eingerichtet, dass die Zahlen von 0 bis 15 ausgedruckt werden, jedoch beistep von 3, so dass nur jede dritte Zahl wie folgt gedruckt wird:

Output0
3
6
9
12

Wir können auch einen negativen Wert für das Argumentstepverwenden, um rückwärts zu iterieren, aber wir müssen die Argumentestart undstopentsprechend anpassen:

for i in range(100,0,-10):
   print(i)

Hier ist 100 derstart-Wert, 0 derstop-Wert und-10 der Bereich, sodass die Schleife bei 100 beginnt und bei 0 endet und mit jeder Iteration um 10 abnimmt. Wir können dies in der Ausgabe sehen:

Output100
90
80
70
60
50
40
30
20
10

Bei der Programmierung in Python verwendenfor-Schleifen häufig den Sequenztyprange()als Parameter für die Iteration.

Für Schleifen mit sequentiellen Datentypen

Lists und andere Datensequenztypen können auch als Iterationsparameter infor-Schleifen verwendet werden. Anstatt einrange() zu durchlaufen, können Sie eine Liste definieren und diese Liste durchlaufen.

Wir werden einer Variablen eine Liste zuweisen und dann die Liste durchlaufen:

sharks = ['hammerhead', 'great white', 'dogfish', 'frilled', 'bullhead', 'requiem']

for shark in sharks:
   print(shark)

In diesem Fall drucken wir jedes Element in der Liste aus. Obwohl wir die Variableshark verwendet haben, hätten wir die Variable auch alle anderenvalid variable name nennen können, und wir würden die gleiche Ausgabe erhalten:

Outputhammerhead
great white
dogfish
frilled
bullhead
requiem

Die obige Ausgabe zeigt, dass diefor-Schleife die Liste durchlief und jedes Element aus der Liste pro Zeile druckte.

Listen und andere sequenzbasiertedata types wiestrings undtuples werden häufig mit Schleifen verwendet, da sie iterierbar sind. Sie können diese Datentypen mitrange() kombinieren, um Elemente zu einer Liste hinzuzufügen, zum Beispiel:

sharks = ['hammerhead', 'great white', 'dogfish', 'frilled', 'bullhead', 'requiem']

for item in range(len(sharks)):
   sharks.append('shark')

print(sharks)
Output['hammerhead', 'great white', 'dogfish', 'frilled', 'bullhead', 'requiem', 'shark', 'shark', 'shark', 'shark', 'shark', 'shark']

Hier haben wir für jedes Element der Länge dersharks-Liste eine Platzhalterzeichenfolge von'shark' hinzugefügt.

Sie können auch einefor-Schleife verwenden, um eine Liste von Grund auf neu zu erstellen:

integers = []

for i in range(10):
   integers.append(i)

print(integers)

In diesem Beispiel wird die Listeintegers leer initialisiert, aber die Schleifefor füllt die Liste wie folgt:

Output[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Ebenso können wir durch Zeichenfolgen iterieren:

sammy = 'Sammy'

for letter in sammy:
   print(letter)
OutputS
a
m
m
y

Das Durchlaufen vontuples erfolgt im gleichen Format wie das Durchlaufen von Listen oder Zeichenfolgen oben.

Wenn Sie eindictionary durchlaufen, ist es wichtig, die Struktur key: value zu berücksichtigen, um sicherzustellen, dass Sie das richtige Element des Wörterbuchs aufrufen. Hier ist ein Beispiel, das sowohl den Schlüssel als auch den Wert aufruft:

sammy_shark = {'name': 'Sammy', 'animal': 'shark', 'color': 'blue', 'location': 'ocean'}

for key in sammy_shark:
   print(key + ': ' + sammy_shark[key])
Outputname: Sammy
animal: shark
location: ocean
color: blue

Bei Verwendung von Wörterbüchern mitfor-Schleifen entspricht die iterierende Variable den Schlüsseln des Wörterbuchs unddictionary_variable[iterating_variable] den Werten. Im obigen Fall wurde die iterierende Variablekey verwendet, um für Schlüssel zu stehen, undsammy_shark[key] wurde verwendet, um für die Werte zu stehen.

Schleifen werden häufig verwendet, um sequentielle Datentypen zu iterieren und zu bearbeiten.

Geschachtelt für Schleifen

Schleifen können in Python wie in anderen Programmiersprachen verschachtelt werden.

Eine verschachtelte Schleife ist eine Schleife, die innerhalb einer anderen Schleife auftritt und strukturellnested if statements ähnelt. Diese sind so aufgebaut:

for [first iterating variable] in [outer loop]: # Outer loop
    [do something]  # Optional
    for [second iterating variable] in [nested loop]:   # Nested loop
        [do something]

Das Programm trifft zuerst auf die äußere Schleife und führt ihre erste Iteration aus. Diese erste Iteration löst die innere, verschachtelte Schleife aus, die dann vollständig ausgeführt wird. Dann kehrt das Programm an den Anfang der äußeren Schleife zurück, schließt die zweite Iteration ab und löst erneut die verschachtelte Schleife aus. Wiederum wird die verschachtelte Schleife vollständig ausgeführt, und das Programm kehrt zum Anfang der äußeren Schleife zurück, bis die Sequenz abgeschlossen ist oder einebreak oder eine andere Anweisung den Prozess stört.

Implementieren wir eine verschachteltefor-Schleife, damit wir genauer hinschauen können. In diesem Beispiel durchläuft die äußere Schleife eine Liste von Ganzzahlen mit der Bezeichnungnum_list, und die innere Schleife durchläuft eine Liste von Zeichenfolgen mit der Bezeichnungalpha_list.

num_list = [1, 2, 3]
alpha_list = ['a', 'b', 'c']

for number in num_list:
    print(number)
    for letter in alpha_list:
        print(letter)

Wenn wir dieses Programm ausführen, erhalten wir die folgende Ausgabe:

Output1
a
b
c
2
a
b
c
3
a
b
c

Die Ausgabe zeigt, dass das Programm die erste Iteration der äußeren Schleife durch Drucken von1 abschließt, was dann die Fertigstellung der inneren Schleife auslöst und nacheinandera,b,c druckt . Sobald die innere Schleife abgeschlossen ist, kehrt das Programm zum oberen Rand der äußeren Schleife zurück, druckt2 und druckt dann erneut die innere Schleife in ihrer Gesamtheit (a,b,c) s) usw.

Verschachteltefor-Schleifen können nützlich sein, um Elemente in Listen zu durchlaufen, die aus Listen bestehen. Wenn wir in einer Liste aus Listen nur einefor-Schleife verwenden, gibt das Programm jede interne Liste als Element aus:

list_of_lists = [[hammerhead', 'great white', 'dogfish'],[0, 1, 2],[9.9, 8.8, 7.7]]

for list in list_of_lists:
    print(list)
Output['hammerhead', 'great white', 'dogfish']
[0, 1, 2]
[9.9, 8.8, 7.7]

Um auf jedes einzelne Element der internen Listen zugreifen zu können, implementieren wir eine verschachteltefor-Schleife:

list_of_lists = [[hammerhead', 'great white', 'dogfish'],[0, 1, 2],[9.9, 8.8, 7.7]]

for list in list_of_lists:
    for item in list:
        print(item)
Outputhammerhead
great white
dogfish
0
1
2
9.9
8.8
7.7

Wenn wir eine verschachteltefor-Schleife verwenden, können wir die einzelnen in den Listen enthaltenen Elemente durchlaufen.

In unserem Tutorial zuNatural Language Processing Toolkit (NLTK) sehen wir verschachteltefor-Schleifen, die in einem Arbeitsprogramm verwendet werden.

Fazit

In diesem Tutorial wurde erläutert, wiefor-Schleifen in Python funktionieren und wie sie erstellt werden. For loops durchlaufen weiterhin eine bestimmte Anzahl von Codeblöcken.

Von hier aus können Sie weitere Informationen zum Schleifen erhalten, indem Sie die Tutorials zuwhile loops undbreak, continue, and pass statements lesen.

Befolgen Sie die folgenden Tutorials, um mitfor-Schleifen in Projekten zu arbeiten: