Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

For-Schleifen in Python: Alles, was Sie wissen müssen

For-Schleifen in Python
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

In diesem Tutorial erfahren Sie alles über die Verwendung for-Schleifen in Python mit Codebeispielen.

Beim Programmieren helfen Ihnen Schleifen dabei, einen bestimmten Satz von Anweisungen zu wiederholen. Sie werden verwenden aufgrund Schleifen für bestimmte Iterationen, wenn: 

  • Sie wissen, dass Sie mit einer Folge mit einer endlichen Anzahl von Elementen arbeiten werden
  • Sie sehen vorher die Anzahl der Wiederholungen

In diesem Tutorial erfahren Sie alles über die Arbeit mit for-Schleifen in Python. Sie beginnen damit, die Syntax und einfache Iterationen mit einer for-Schleife zu lernen. Anschließend erfahren Sie, wie Sie Befehlszeilenargumente verarbeiten, Schleifensteuerungsanweisungen verwenden und vieles mehr.

Lass uns anfangen…

Syntax of Python for Loop

Syntax von Python für Schleife

Die generische Syntax für die Verwendung von for-Schleife in Python ist wie folgt:

for item in iterable:
  # do something on item
  statement_1
  statement_2
  .
  .
  .
  statement_n

In der obigen Syntax:

  • Artikel ist die Schleifenvariable.
  • wiederholbar bezeichnet beliebige Python-Iterable wie Listen, Tupel und Strings.
  • aussage_1 bis aussage_n bezeichnen die Anweisungen im Schleifenrumpf.

Hinweis: Stellen Sie sicher, dass Sie einen Doppelpunkt hinzufügen (:) nach dem Namen der Iterable und rücken Sie alle Anweisungen im Schleifenkörper um vier Leerzeichen ein.

Common for Loop Constructs in Python

für Schleifenkonstrukte

Bei Verwendung eines aufgrund Schleife:

  • Sie können direkt auf die Elemente zugreifen, indem Sie die im vorherigen Abschnitt beschriebene Syntax verwenden.
  • Sie können for-Schleife in Verbindung mit integrierten Python-Funktionen wie verwenden range() und enumerate().

Wir behandeln sie in diesem Abschnitt.

Verwenden der for-Schleife für den Zugriff auf Elemente

Um die Lesbarkeit zu verbessern, sollten Sie eine Schleifenvariable auswählen, die angibt, was die Liste enthält. Zum Beispiel im Beispiel unten, nums ist eine Liste von Zahlen, die wir verwenden num als Schleifenvariable. Beachte wie for num in nums: ist intuitiv und leicht zu lesen.

nums = [4,5,9,1,3]
for num in nums:
  print(num)

# Output
4
5
9
1
3

Fügen Sie ein paar weitere Beispiele hinzu, die Sie verwenden können for fruit in fruits: und for student in students: beim Durchschleifen fruits und students Liste bzw.

Verwendung der for-Schleife mit der range()-Funktion

Wenn Sie über seinen Index auf ein Listenelement zugreifen möchten, können Sie die verwenden range() Funktion.

In Python range(start, stop, step) gibt ein Bereichsobjekt zurück, das Sie durchlaufen können, um die Indizes zu erhalten: start, start + step, und so weiter, bis zu, aber nicht einschließlich stop.

for i in range(len(nums)):
  print(nums[i])

# Output
4
5
9
1
3

Sie können auch die Tasten range() Funktion zum Generieren einer Zahlenfolge zum Durchlaufen. Im folgenden Beispiel setzen wir optional step Parameter auf 2. Wir erhalten also Zahlen von 10 bis einschließlich 20 in Zweierschritten.

for i in range(10,20,2):
  print(i)

# Output
10
12
14
16
18

Verwendung der for-Schleife mit der enumerate()-Funktion

Wenn Sie eine Iterable durchlaufen und gleichzeitig auf die Elemente und ihre Indizes zugreifen möchten, können Sie die verwenden enumerate()-Funktion.

Hier ist ein Beispiel.

for idx, num in enumerate(nums):
  print(f"{idx}:{num}")

# Output
0:4
1:5
2:9
3:1
4:3
Python-für-Schleife

How to Read Items from Lists Using for Loop in Python

Um Python-Listen mit einer for-Schleife zu durchlaufen, können Sie die generische Syntax aus dem vorherigen Abschnitt verwenden.

Im folgenden Beispiel nums ist iterierbar und num ist die Schleifenvariable.

nums = [4,5,9,1,3]
for num in nums:
  print(f"{num} times 3 is {num*3}") # action on each num

# Output
4 times 3 is 12
5 times 3 is 15
9 times 3 is 27
1 times 3 is 3
3 times 3 is 9

How to Loop Through Strings Using for Loop in Python

Python-Strings sind Iterables und Sie können Schleifen, Indizierung, Slicing und mehr ausführen. 

Hinweis: Python hat keinen eingebauten Zeichendatentyp. Sie können also ein Zeichen als eine Zeichenfolge der Länge eins behandeln.

my_string = "Code"
for char in my_string:
  print(char)

# Output
C
o
d
e

How to Loop Through Arrays Using for Loop in Python

Durchschleifen von Arrays mit for Loop

Sie können Arrays mit Schleifen durchlaufen und For-Schleifen verschachteln.

Im folgenden Codeausschnitt ist array1 eine verschachtelte Liste, die kleinere Listen als Elemente enthält. Das Durchschleifen von array1 ergibt also jede Zeile, wie unten gezeigt.

array1 = [[2,3],[7,8]]
for row in array1:
  print(row)

# Output
[2, 3]
[7, 8]

Um auf einzelne Elemente in jeder Zeile zuzugreifen, können Sie ein anderes verwenden for Schleife.

array1 = [[2,3],[7,8]]
for row in array1:
  for elt in row:
    print(elt)

In der obigen Codezelle:

  • Die äußere for-Schleife hilft Ihnen, in die Zeilen zu indizieren.
  • Die innere for-Schleife ermöglicht es Ihnen, die Elemente in jeder Zeile anzuzapfen.

Hier ist die entsprechende Ausgabe.

Output
2
3
7
8

How to Read Command-Line Arguments Using for Loop

Befehlszeile

Als Entwickler sollten Sie kein Problem damit haben, Python-Skripts über die Befehlszeile auszuführen und Befehlszeilenargumente für die Interaktion mit Ihrem Skript zu verwenden.

Sie können die integrierten Module von Python verwenden, z sys und Argparse um Befehlszeilenargumente zu analysieren und zu lesen.

In diesem Abschnitt gehen wir auf die Verwendung von ein sys Modul und verwenden Sie a for Schleife – um die Liste der Befehlszeilenargumente zu durchlaufen.

Im sys-Modul sys.argv ist die Liste der Befehlszeilenargumente, die Sie übergeben. Sie können also eine Schleife durchlaufen sys.argv genau so, wie Sie jede Python-Liste durchlaufen würden.

# main.py

import sys

for arg in sys.argv:
    print(arg)

Sie können das Programm jetzt wie unten gezeigt über die Befehlszeile ausführen.

$ python main.py Hello Python3
main.py
Hello
Python3

Standardmäßig ist der Name des Moduls das erste Argument und befindet sich am Index Null in sys.argv.

Wenn Sie auf die Indizes und die entsprechenden Argumente zugreifen möchten, können Sie die verwenden range() Funktion.

# main.py

import sys

for i in range(len(sys.argv)):
    print(f"arg{i} is {sys.argv[i]}")

▶️ Führen Sie als Nächstes main.py erneut aus.

$ python main.py Hello Python3
arg0 is main.py
arg1 is Hello
arg2 is Python3

Angenommen, Sie möchten andere Argumente als den Modulnamen analysieren und verarbeiten. Sie können den Startwert auf 1 setzen, wie in der Codezelle unten.

# main.py

import sys

for i in range(1,len(sys.argv)):
     print(f"arg{i} is {sys.argv[i]}")
$ python main.py Hello Python3
arg1 is Hello
arg2 is Python3
python-for-loop-commandline-args

Alles zusammenfügen, Die Datei main.py enthält den folgenden Code.

# main.py

import sys

print("\nPrinting all command-line arguments...")
for arg in sys.argv:
    print(arg)

print("\nPrinting all command-line arguments with index...")
for i in range(len(sys.argv)):
    print(f"arg{i} is {sys.argv[i]}")

print("\nPrinting command-line arguments except arg0: module_name...")
for i in range(1,len(sys.argv)):
     print(f"arg{i} is {sys.argv[i]}")

Hier ist die Ausgabe, wenn Sie das Modul ausführen.

$ python main.py Hello Python3

Printing all command-line arguments...
main.py
Hello
Python3

Printing all command-line arguments with index...
arg0 is main.py
arg1 is Hello
arg2 is Python3

Printing command-line arguments except arg0: module_name...
arg1 is Hello
arg2 is Python3

How to Use break Statement Inside for Loop

break-Anweisung innerhalb der for-Schleife

Wie andere Programmiersprachen unterstützt auch Python die Verwendung von Schleifensteuerungsanweisungen break und continue. Diese Anweisungen können helfen, den Kontrollfluss in Schleifen basierend auf bestimmten Bedingungen zu ändern. Sehen wir uns an, wie man sie in einer for-Schleife verwendet.

Dieses break Die Anweisung kann verwendet werden, um aus einer Schleife auszubrechen, wenn eine bestimmte Bedingung erfüllt ist True.

Wir wollen ein Programm schreiben, um Folgendes zu tun:

  • Fixieren k, die Anzahl der Eingänge.
  • Verwenden for -Schleife, um Benutzereingaben einzulesen – eine Ziffer nach der anderen – und die nicht negativen Zahlen (größer oder gleich Null) zu summieren.
  • Dieser Vorgang sollte fortgesetzt werden, solange der Benutzer nicht negative Zahlen eingibt.
  • Wenn der Benutzer eine negative Zahl eingibt, verlassen Sie die Schleife und drucken Sie die Summe aus.

Hier ist der Code, der die obige Aufgabe ausführt.

k= 5
sum = 0
for i in range(k):
  num = int(input("\nEnter a number: "))
  if num<0:
    break # exit loop when num < 0
  sum += num

print(sum)

Wenn der Benutzer eine Zahl kleiner als Null eingibt, springt das Steuerelement aus der for-Schleife zur ersten Anweisung nach der Schleife.

Enter a number: 2

Enter a number: 3

Enter a number: 5

Enter a number: -1
10

How to Use continue Statement Inside for Loop

Dieses continue -Anweisung kann verwendet werden, um bestimmte Iterationen abhängig von einer bestimmten Bedingung zu überspringen.

Lassen Sie uns die gleichen Beispiele im vorherigen Abschnitt verwenden.

  • Lesen Sie Benutzereingaben ein und berechnen Sie die Summe nicht negativer Zahlen.
  • Wenn der Benutzer eine negative Zahl eingibt, überspringen Diese Iteration fährt mit dem fort nächste Iteration , und lesen Sie die nächste Zahl ein.
k = 5
sum = 0
for i in range(k):
  num = int(input("\nEnter a number: "))
  if num<0:
    continue
  sum += num

print(sum)

Hier ist eine Beispielausgabe.


Enter a number: 2

Enter a number: 3

Enter a number: 5

Enter a number: -1

Enter a number: 3
13

Die vierte Zahl ist -1, was negativ ist. Diesmal geht die for-Schleife jedoch weiter, bis wir die angegebene Anzahl von Eingaben erreicht haben, und ignoriert negative Eingaben. Im Wesentlichen gibt es die Summe aller nicht negativen Zahlen aus zurück k Zahlen eingeben.

Can You Run Into an Infinite for Loop in Python?

Unendlich für Schleife

In allen bisher besprochenen Beispielen und Anwendungsfällen sind wir nie auf das Problem einer unendlichen for-Schleife gestoßen. Aber können wir in Python eine unendliche for-Schleife haben?

Betrachten Sie die folgende Funktion double().

def double(x = 1):
  return x*2
  • Wenn Sie die Funktion aufrufen double() ohne den Wert von anzugeben x, wird der Standardwert 1 verwendet.
  • Wenn Sie einen Wert für angeben x im Funktionsaufruf wird dieser Wert verwendet.
double()
# Returns: 2

double(20)
# Returns: 40

In Python ist das iter () Funktion gibt ein Iterator-Objekt zurück. Sie können verwenden next(iter-obj) um die Sequenz zu durchlaufen und auf nachfolgende Elemente zuzugreifen.

– Betrachten Sie a Callable-Objekt und ein Wert, Wache.

- iter(callable-object, sentinel) kann verwendet werden, um eine Iteration durchzuführen, bis der Rückgabewert von der callable-object entspricht sentinel.

Sehen Sie, warum wir in diesem Fall eine unendliche for-Schleife haben können?

Python-für-unendliche-Schleife

Nun, du hast eine callable-object und einem sentinel Wert. Wenn der Rückgabewert des Callable niemals gleich dem Sentinel ist, geht die Schleife endlos weiter!

Lassen Sie uns die obige Funktion verwenden double als Callable und setzen Sie den Sentinel-Wert auf 0.

Hinweis: Nennen Sie den Namen der Funktion double, nicht der Funktionsaufruf double().

Als Rückgabewert der Funktion double immer 2 ist und niemals gleich 0 ist, haben wir eine Endlosschleife!

▶️ Versuchen Sie, die folgende Codezelle auszuführen. Es ist eine unendliche For-Schleife, und Sie müssen das Programm stoppen.

for _ in iter(double,0):
  print("Running...")
python-for-loop-infinite

Python For Loops: Practice Questions

#1. Verwenden Sie die for-Schleife, um alle geraden Zahlen im Bereich von 0 bis 20 auszugeben.

Andeuten: Benutzen range() Funktion mit der richtigen step Wert. 

#2. Drucken Sie alle geraden Zahlen von 20 bis 0 aus.

Andeuten: Negativen Wert für verwenden step Parameter in der range() Funktion.

#3. Erstellen Sie eine dreidimensionale NumPy-Array.

Andeuten: Verwenden Sie nach Bedarf for-Schleife und verschachtelte for-Schleifen, um auf die Zeilen und einzelnen Einträge im Array zuzugreifen.

Fazit

Hier ist eine Zusammenfassung dessen, was Sie in diesem Tutorial gelernt haben.

  • Die Syntax zur Verwendung von Python aufgrund Schleife zusammen mit Reichweite() und aufzählen() Funktionen
  • Verwenden von for-Schleifen, um Listen, Arrays und Strings zu durchlaufen und Befehlszeilenargumente einzulesen
  • Schleifensteuerungsanweisungen verwenden: brechen aus der Schleife auszubrechen und fortsetzen -Anweisung zum Überspringen bestimmter Iterationen – basierend auf Bedingungen – innerhalb von for-Schleifen
  • Verstehen der Möglichkeit unendlicher for-Schleifen in Python

Als nächstes erfahren Sie, wie Sie die verwenden split()-Methode in Python.

Danke an unsere Sponsoren
Weitere großartige Lektüre zum Thema Entwicklung
Treiben Sie Ihr Geschäft an
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder