Vollständiger Guide zu Pythons for-in-Schleife | Grundsyntax bis List Comprehensions

目次

1. Einführung

Was ist die for in-Schleife in Python?

Die for in-Schleife in Python ist eine Syntax, um iterierbare Daten wie Listen, Dictionaries, Strings usw. (wiederholbare Daten) in einer Schleife zu verarbeiten.
In der Programmierung gibt es viele Situationen, in denen man Elemente einer bestimmten Liste nacheinander verarbeitet oder wiederholte Berechnungen durchführt. Durch die Verwendung der for in-Schleife kann man knappen und lesbaren Code schreiben.

Zum Beispiel kann eine grundlegende Schleife, die Elemente in einer Liste nacheinander abruft und verarbeitet, wie folgt beschrieben werden.

fruits = ["apple", "banana", "cherry"]

for fruit in fruits:
    print(fruit)

Ausgabe

apple
banana
cherry

Auf diese Weise kann mit der for in-Schleife die Elemente der Liste nacheinander extrahiert und in einer Schleife verarbeitet werden.

Zielgruppe dieses Artikels

Dieser Artikel richtet sich an Leser wie die folgenden.

  • Python-Anfänger, die die Grundlagen der for in-Schleife lernen möchten
  • Personen, die mit for in Listen, Dictionaries, Sets usw. effizient in Schleifen verarbeiten möchten
  • Personen, die fortgeschrittene Techniken wie enumerate(), zip() und List Comprehensions erlernen möchten

Was man in diesem Artikel lernen kann

Durch das Lesen dieses Artikels können Sie Folgendes verstehen und in der Praxis anwenden.

  • Die grundlegende Syntax und der Funktionsmechanismus der for in-Schleife
  • Die Verwendung der for in-Schleife mit Listen, Dictionaries, Sets und Tupeln
  • Methoden zur Schleifensteuerung mit break und continue
  • Die Verwendung und Anwendungen von enumerate() und zip()
  • Der Mechanismus und praktische Beispiele der for-else-Syntax
  • Effiziente Code-Schreibweise mit List Comprehensions

Durch das gründliche Verständnis der Schleifenverarbeitung in Python und mit konkreten Code-Beispielen wird erklärt, wie man es in der Praxis einsetzen kann.

2. Grundlagen der for in-Anweisung in Python

for in-Anweisung: Was ist das?

for in-Anweisung ist eine der am häufigsten verwendeten Syntaxelemente in den Schleifen von Python.
Von Datentypen wie Listen, Wörterbüchern, Tupeln oder Strings kann sie der Reihe nach Elemente extrahieren und die Verarbeitung wiederholen.

Grundlegende Syntax

for Variable in iterierbares Objekt:
    Verarbeitung
  • Variable: Variable, die in der Schleife jedes extrahierte Element speichert
  • iterierbares Objekt: Listen, Wörterbücher, Tupel, Mengen, Strings usw. – iterierbare Objekte
  • Verarbeitung: Die in der Schleife auszuführende Verarbeitung

Grundlegende Verwendungsbeispiele

Um die Elemente einer Liste der Reihe nach zu verarbeiten, kann man wie folgt schreiben.

fruits = ["apple", "banana", "cherry"]

for fruit in fruits:
    print(fruit)

Ausgabe

apple
banana
cherry

In dieser Weise werden die einzelnen Elemente der Liste fruits nacheinander in die Variable fruit zugewiesen und die Verarbeitung in der Schleife ausgeführt.

Die Rolle des in-Operators

Der in-Operator in Python wird verwendet, um zu überprüfen, ob ein bestimmtes Element in einer Liste, einem Wörterbuch oder einem String enthalten ist.
Durch die Kombination mit einer for-Schleife kann man die einzelnen Elemente der Daten nacheinander abrufen und verarbeiten.

Verwendung des in-Operators in Listen

numbers = [1, 2, 3, 4, 5]

if 3 in numbers:
    print("3 ist in der Liste enthalten")

Ausgabe

3 ist in der Liste enthalten

Verwendung des in-Operators in Wörterbüchern

Im Fall von Wörterbüchern (dict-Typ) sucht der in-Operator standardmäßig nach Schlüsseln (keys).

person = {"name": "Alice", "age": 25, "city": "Tokyo"}

if "age" in person:
    print("Der Schlüssel age existiert")

Ausgabe

Der Schlüssel age existiert

Außerdem, wenn man nach den Werten (values) des Wörterbuchs suchen möchte, verwendet man .values().

if 25 in person.values():
    print("Der Wert 25 existiert")

Ausgabe

Der Wert 25 existiert

Negationsbedingungen mit not in

Mit not in kann man Bedingungen für den Fall angeben, dass ein Element nicht vorhanden ist.

if "email" not in person:
    print("Der Schlüssel email existiert nicht")

Ausgabe

Der Schlüssel email existiert nicht

Vorteile der for in-Anweisung

Die for in-Anweisung in Python hat folgende Vorteile.

Hohe LesbarkeitBeim Umgang mit Daten wie Listen oder Wörterbüchern kann man einfachen und verständlichen Code schreiben.

Indexfehler treten selten aufIm Gegensatz zu normalen for-Schleifen muss man keinen Zähler verwalten, sodass Fehler durch Überschreitung des Array-Bereichs unwahrscheinlich sind.

Iterierbare Daten können einfach gehandhabt werdenListen, Wörterbücher, Tupel, Mengen, Strings usw. – anwendbar auf verschiedene Datenstrukturen.

Zusammenfassung

In diesem Kapitel haben wir die Grundlagen der for in-Anweisung in Python gelernt.Zusammenfassung der Punkte

  • Die for in-Anweisung ist eine Syntax zur Schleifenverarbeitung iterierbarer Daten wie Listen oder Wörterbücher
  • Mit dem in-Operator kann man einfach überprüfen, ob ein Element enthalten ist
  • Mit not in kann man Bedingungen für den Fall setzen, dass ein Element nicht enthalten ist
  • Mit der for in-Anweisung kann man lesbaren und einfachen Code schreiben
年収訴求

3. for in-Anweisung: Grundlegende Verwendung

Die for in-Anweisung in Python ist ein nützliches Werkzeug, um Datenstrukturen wie Listen, Dictionaries, Tupel, Sets usw. zu iterieren.
Dieses Kapitel erklärt die grundlegende Verwendung der for in-Anweisung im Detail und führt konkrete Code-Beispiele für jeden Datentyp ein.

Listen mit for in durchlaufen

Die Liste (list-Typ) ist eine der am häufigsten verwendeten Datenstrukturen in Python. Durch die Verwendung der for in-Anweisung können die Elemente in der Liste der Reihe nach abgerufen und verarbeitet werden.

Grundlegende Durchlaufverarbeitung einer Liste

fruits = ["apple", "banana", "cherry"]

for fruit in fruits:
    print(fruit)

Ausgabe

apple
banana
cherry

Methode zum Abrufen des Index einer Liste (enumerate())

Im normalen for in-Loop werden nur die Elemente der Liste abgerufen, aber wenn auch der Index des Elements gleichzeitig abgerufen werden soll, ist die enumerate()-Funktion bequem zu verwenden.

fruits = ["apple", "banana", "cherry"]

for index, fruit in enumerate(fruits):
    print(f"{index}: {fruit}")

Ausgabe

0: apple
1: banana
2: cherry

Dictionaries durchlaufen

Das Dictionary (dict-Typ) ist eine Datenstruktur, die Schlüssel-Wert-Paare speichert. Mit der for in-Anweisung können Schlüssel oder Werte der Reihe nach extrahiert werden.

Schlüssel eines Dictionaries durchlaufen

Standardmäßig erhält man bei Anwendung der for in-Anweisung auf ein Dictionary nur die Schlüssel (key).

person = {"name": "Alice", "age": 25, "city": "Tokyo"}

for key in person:
    print(key)

Ausgabe

name
age
city

Schlüssel und Werte eines Dictionaries abrufen (items())

Wenn nicht nur der Schlüssel, sondern auch der Wert (value) gleichzeitig abgerufen werden soll, wird die .items()-Methode verwendet.

for key, value in person.items():
    print(f"{key}: {value}")

Ausgabe

name: Alice
age: 25
city: Tokyo

Tupel und Sets durchlaufen

Die for in-Anweisung in Python kann auch auf Tupel (tuple-Typ) und Sets (set-Typ) angewendet werden.

Tupel durchlaufen

Ein Tupel ähnelt einer Liste, ist aber eine unveränderliche (immutable) Datenstruktur.
Es kann wie eine Liste mit der for in-Anweisung durchlaufen werden.

colors = ("red", "green", "blue")

for color in colors:
    print(color)

Ausgabe

red
green
blue

Sets durchlaufen

Das Set (set-Typ) ist eine Datenstruktur, die duplikatfreie Daten speichert. Da die Elemente eines Sets keine garantierte Reihenfolge haben, kann die Reihenfolge im Loop variieren.

unique_numbers = {1, 2, 3, 4, 5}

for num in unique_numbers:
    print(num)

Ausgabe (Reihenfolge nicht garantiert)

1
3
2
5
4

Zeichenketten durchlaufen

Die String (str-Typ) in Python kann ebenfalls mit der for in-Anweisung Zeichen für Zeichen verarbeitet werden.

word = "Python"

for char in word:
    print(char)

Ausgabe

P
y
t
h
o
n

Verschachtelte for-Loops (verschachtelte Loops)

for-Loop innerhalb eines weiteren for-Loops zu platzieren ist möglich.
Dies wird als verschachtelte Loop (nested loop) bezeichnet.

Zum Beispiel kann es bei der Verarbeitung von Matrizen (2D-Listen) genutzt werden.

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

for row in matrix:
    for num in row:
        print(num, end=" ")
    print()  # Zeilenumbruch

Ausgabe

1 2 3 
4 5 6 
7 8 9 

Zusammenfassung

In diesem Kapitel haben wir gelernt, wie man mit der for in-Anweisung Listen, Dictionaries, Tupel, Sets und Strings durchläuft. Zusammenfassung der Punkte

  • Listen durchlaufen: Mit enumerate() kann der Index ebenfalls abgerufen werden
  • Dictionary durchlaufen: Mit .items() können Schlüssel und Werte gleichzeitig abgerufen werden
  • Tupel und Sets können ebenfalls mit for in iteriert werden (allerdings ist die Reihenfolge bei Sets nicht garantiert)
  • Zeichenfolgen durchlaufen: Ermöglicht das Abrufen einzelner Zeichen
  • Nested for-Schleifen ermöglichen die Verarbeitung mehrdimensionaler Daten (z. B. Listen von Listen)

4. Erweiterte Techniken unter Verwendung von for in

Neben der bislang erlernten grundlegenden Verwendung der for in-Anweisung bietet Python verschiedene Techniken, um for in-Anweisungen noch bequemer und effektiver zu nutzen.
Dieses Kapitel stellt anwendungsbezogene Methoden der Schleifenverarbeitung vor, die Funktionen wie range(), zip() und enumerate() verwenden.

Schleifen mit range()

Mit der range()-Funktion in Python können Sie einen numerischen Bereich angeben und eine Schleife ausführen. range() kann wie eine Liste behandelt werden, ist jedoch ein iterierbares Objekt, das Speicher spart.

Grundlegende Verwendung von range()

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

Ausgabe

0
1
2
3
4

Standardmäßig erzeugt range(n) aufeinanderfolgende Ganzzahlen von 0 bis n-1.

Angeben von Startwert, Endwert und Schritt

Im Format range(start, stop, step) können Startwert, Endwert und Schritt (Inkrement) angegeben werden.

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

Ausgabe

1
3
5
7
9

Umgekehrte Schleife mit range()

Durch Angabe eines negativen Schritts ist eine umgekehrte Schleife möglich.

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

Ausgabe

10
8
6
4
2

Simultane Schleife über mehrere Listen mit zip()

Wenn Sie mehrere Listen gleichzeitig durchlaufen möchten, ist die zip()-Funktion sehr nützlich.

Grundlegende Verwendung von zip()

names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 35]

for name, age in zip(names, ages):
    print(f"{name} ist {age} Jahre alt")

Ausgabe

Alice ist 25 Jahre alt
Bob ist 30 Jahre alt
Charlie ist 35 Jahre alt

Bei unterschiedlichen Listenlängen

Bei unterschiedlichen Listenlängen beendet zip() die Schleife entsprechend der kürzesten Liste.

names = ["Alice", "Bob"]
ages = [25, 30, 35]

for name, age in zip(names, ages):
    print(f"{name} ist {age} Jahre alt")

Ausgabe

Alice ist 25 Jahre alt
Bob ist 30 Jahre alt

Erhalten des Index mit enumerate()

Wenn Sie die Elemente einer Liste zusammen mit dem Index (Nummer) erhalten möchten, ist enumerate() sehr nützlich.

Grundlegende Verwendung von enumerate()

fruits = ["apple", "banana", "cherry"]

for index, fruit in enumerate(fruits):
    print(f"{index}: {fruit}")

Ausgabe

0: apple
1: banana
2: cherry

Angeben der Startnummer

Mit dem zweiten Argument von enumerate() können Sie die Startnummer angeben und so von einer gewünschten Nummer aus zählen.

for index, fruit in enumerate(fruits, start=1):
    print(f"{index}: {fruit}")

Ausgabe

1: apple
2: banana
3: cherry

Verwendung verschachtelter for-Schleifen

Durch Verschachtelung (Nesting) von for-Schleifen kann eine doppelte Schleife realisiert werden.
Zum Beispiel kann sie beim Verarbeiten von Matrizen (zweidimensionale Listen) verwendet werden.

Verarbeitung von Matrizen mit doppelter Schleife

matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

for row in matrix:
    for num in row:
        print(num, end=" ")
    print()  # Zeilenumbruch

Ausgabe

1 2 3 
4 5 6 
7 8 9 

Schleifenverarbeitung mit Sortierung der Liste unter Verwendung von sorted()

Wenn Sie eine Liste sortieren und gleichzeitig durchlaufen möchten, verwenden Sie sorted().

numbers = [5, 3, 8, 1, 2]

for num in sorted(numbers):
    print(num)

Ausgabe

1
2
3
5
8

Sortierung in umgekehrter Reihenfolge (absteigend)

for num in sorted(numbers, reverse=True):
    print(num)

Ausgabe

8
5
3
2
1

Zusammenfassung

In diesem Kapitel wurden nützliche Techniken zur Verwendung der for in-Anweisung vorgestellt.Zusammenfassung der Punkte

  • Mit range() können Sie in einem angegebenen numerischen Bereich schleifen
  • range(start, stop, step) angeben, um Zunahme und Abnahme zu steuern
  • Mit zip() können mehrere Listen gleichzeitig durchlaufen werden
  • Auf den Punkt achten, dass die Schleife mit der kürzesten Liste endet
  • Mit enumerate() kann mit Index durchlaufen werden
  • enumerate(liste, start=nummer) zum Angeben der Startnummer möglich
  • Mit verschachtelten for-Schleifen können multidimensionale Listen verarbeitet werden
  • Mit sorted() kann die Liste sortiert durchlaufen werden

Durch die Nutzung dieser Techniken wird eine flexiblere und effizientere Schleifenverarbeitung möglich.

年収訴求

5. Steuerung der for-Schleife

Python-for in-Anweisung ermöglicht es durch die Verwendung von break oder continue und ähnlichen Steuerungsanweisungen, das Verhalten der Schleife detailliert zu kontrollieren.
Dieses Kapitel erklärt detailliert die Methoden zur Steuerung des Ablaufs der Schleife.

Unterschiede zwischen break und continue

break und continue sind Steuerungsanweisungen zum Unterbrechen oder Überspringen der Schleifenverarbeitung.

SteuerungsanweisungBeschreibung
breakbeendet die Schleife vollständig
continueüberspringt die Verarbeitung des aktuellen Durchlaufs und geht zur nächsten Schleife über

Die Schleife mit break vorzeitig beenden

break können Sie die Schleife erzwingen, sobald die angegebene Bedingung erfüllt ist.

numbers = [1, 2, 3, 4, 5]

for num in numbers:
    if num == 3:
        print("3 wurde gefunden, daher Schleife beenden")
        break
    print(num)

Ausgabe

1
2
3 wurde gefunden, daher Schleife beenden

Spezifische Verarbeitung mit continue überspringen

Mit continue überspringen Sie die aktuelle Verarbeitung der Schleife und gehen zur nächsten Iteration über.

numbers = [1, 2, 3, 4, 5]

for num in numbers:
    if num == 3:
        print("3 wurde übersprungen")
        continue
    print(num)

Ausgabe

1
2
3 wurde übersprungen
4
5

Verwendung der for-else-Syntax

Die Python-for-Schleife bietet die Funktion, durch Hinzufügen eines else-Blocks eine Verarbeitung auszuführen, falls eine bestimmte Bedingung nicht auftritt.

Grundlegende Verwendung von for-else

numbers = [1, 2, 3, 4, 5]

for num in numbers:
    if num == 6:
        print("6 wurde gefunden!")
        break
else:
    print("6 ist nicht in der Liste enthalten")

Ausgabe

6 ist nicht in der Liste enthalten

In diesem Code wird, da 6 nicht in der Liste vorhanden ist, die for-Schleife bis zum Ende ausgeführt und die else-Verarbeitung durchgeführt.

Nichts tun mit pass

pass wird verwendet, wenn syntaktisch eine Verarbeitung erforderlich ist, aber keine spezifische Ausführung vorliegt.

for num in range(1, 6):
    if num == 3:
        pass  # nichts tun
    else:
        print(num)

Ausgabe

1
2
4
5

In diesem Code wird bei num == 3 keine Verarbeitung ausgeführt und zur nächsten Schleife übergegangen.

Zusammenfassung

In diesem Kapitel haben wir die Methoden zur Steuerung der Python-for in-Anweisung gelernt.Zusammenfassung der Punkte

  • Mit break können Sie die Schleife vorzeitig beenden
  • Mit continue können Sie spezifische Verarbeitung überspringen und zur nächsten Schleife übergehen
  • Mit for-else können Sie Verarbeitung nur ausführen, wenn die Schleife normal abgeschlossen wird
  • pass wird verwendet, um nichts zu tun, aber syntaktisch notwendig zu sein

Durch die Nutzung dieser Steuerungsanweisungen wird flexible Schleifenverarbeitung möglich.

6. List Comprehension

Python bietet als Methode, um die Erstellung von Listen mit for-Schleifen knapp zu beschreiben, die List Comprehension.
Sie ist lesbarer als normale for-Schleifen und verbessert oft die Verarbeitungsgeschwindigkeit, weshalb sie eine der am häufigsten genutzten Techniken in Python ist.

Was ist eine List Comprehension?

Die List Comprehension ist eine Syntax, um Listen knapp zu erstellen.
Im Vergleich zur Erstellung von Listen mit normalen for-Schleifen ermöglicht sie kompakteren Code.

Grundlegende Syntax

[Ausdruck for Variable in iterierbarem Objekt]
  • Ausdruck: Die auf jedes Element anzuwendende Verarbeitung (Umwandlung, Berechnung usw.)
  • Variable: Das Element, das aus dem iterierbaren Objekt entnommen wird
  • iterierbares Objekt: Listen, Dictionaries, Mengen, Strings usw., also wiederholbare Objekte

Listen-Erstellung mit normaler for-Schleife

numbers = [1, 2, 3, 4, 5]
squared_numbers = []

for num in numbers:
    squared_numbers.append(num ** 2)

print(squared_numbers)

Ausgabe

[1, 4, 9, 16, 25]

Mit List Comprehension

numbers = [1, 2, 3, 4, 5]
squared_numbers = [num ** 2 for num in numbers]

print(squared_numbers)

Ausgabe

[1, 4, 9, 16, 25]

Bedingte List Comprehension

In der List Comprehension können Sie durch Hinzufügen von if nur Elemente, die eine Bedingung erfüllen, zur Liste hinzufügen.

Nur gerade Zahlen extrahieren

numbers = [1, 2, 3, 4, 5, 6]
even_numbers = [num for num in numbers if num % 2 == 0]

print(even_numbers)

Ausgabe

[2, 4, 6]

Ungerade Zahlen verdoppeln und Liste erstellen

numbers = [1, 2, 3, 4, 5, 6]
double_odd_numbers = [num * 2 for num in numbers if num % 2 == 1]

print(double_odd_numbers)

Ausgabe

[2, 6, 10]

List Comprehension mit if-else

Mit if-else in der List Comprehension können Sie unterschiedliche Verarbeitungen je nach Bedingung ausführen.

Ungerade Zahlen verdoppeln, gerade Zahlen unverändert lassen

numbers = [1, 2, 3, 4, 5, 6]
modified_numbers = [num * 2 if num % 2 == 1 else num for num in numbers]

print(modified_numbers)

Ausgabe

[2, 2, 6, 4, 10, 6]

Nestete List Comprehension

Die List Comprehension unterstützt auch Nestung, sodass Sie doppelte Schleifen knapp schreiben können.

Doppelte Schleife mit List Comprehension

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened = [num for row in matrix for num in row]

print(flattened)

Ausgabe

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

Dictionary Comprehension

Ähnlich wie bei der List Comprehension können Sie auch Dictionaries (dict) mit Comprehension erstellen.

Dictionary aus Liste erstellen

numbers = [1, 2, 3, 4, 5]
squared_dict = {num: num ** 2 for num in numbers}

print(squared_dict)

Ausgabe

{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

Zusammenfassung

In diesem Kapitel haben wir die Grundlagen und Anwendungen der List Comprehension gelernt.Zusammenfassung der Punkte

  • Mit List Comprehension können einfache Listenoperationen kurz beschrieben werden
  • Mit if können bedingte Listen erstellt werden
  • Mit if-else können unterschiedliche Verarbeitungen je nach Bedingung angewendet werden
  • Nestete Schleifen können auch mit List Comprehension knapp geschrieben werden
  • Dictionary Comprehension ist ebenfalls möglich

7. Häufig gestellte Fragen (FAQ)

Die for in-Schleife in Python ist eine einfache und mächtige Syntax, aber es gibt viele Punkte, an denen Anfänger stolpern.
Dieses Kapitel stellt häufig gestellte Fragen zur for in-Schleife und deren Lösungen vor.

Unterschied zwischen for in-Schleife und while-Schleife?

In Python gibt es zwei Arten von Schleifenkonstrukten zur Durchführung von Schleifen: die for in-Schleife und die while-Schleife.

Art der SchleifeMerkmale
for inFeste Anzahl von Wiederholungen wiederholt die Schleife
whileBis eine bestimmte Bedingung erfüllt ist Schleife

Beispiel für for in-Schleife (feste Anzahl von Wiederholungen)

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

Ausgabe

0
1
2
3
4

Die for in-Schleife eignet sich für Fälle mit fester Wiederholungsanzahl

Beispiel für while-Schleife (Ausführung bis Bedingung erfüllt)

count = 0
while count < 5:
    print(count)
    count += 1

Ausgabe

0
1
2
3
4

Die while-Schleife eignet sich, wenn man wiederholen möchte, bis eine Bedingung erfüllt ist

Bei welchen Datentypen kann der in-Operator verwendet werden?

Der in-Operator in Python kann bei den folgenden iterierbaren Datentypen (iterierbare Objekte) verwendet werden.

DatentypVerwendung in for in-Schleife
Liste (list)✅ möglich
Tupel (tuple)✅ möglich
Dictionary (dict)✅ möglich (Schlüssel betroffen)
Menge (set)✅ möglich
String (str)✅ möglich

Unterschied zwischen break und continue?

SteuerungsanweisungRolle
breakBeendet die Schleife vollständig
continueÜberspringt die aktuelle Verarbeitung und geht zur nächsten Schleife

In welchen Situationen verwendet man die for-else-Syntax?

Die for-else-Syntax wird so verwendet, dass der else-Block nur ausgeführt wird, wenn die Schleife ohne break bis zum Ende durchlaufen wird.

Grundlegende Verwendung von for-else

numbers = [1, 2, 3, 4, 5]

for num in numbers:
    if num == 6:
        print("6 wurde gefunden!")
        break
else:
    print("6 ist nicht in der Liste enthalten")

Ausgabe

6 ist nicht in der Liste enthalten

Praktisch zur Überprüfung, ob ein bestimmtes Element in der Liste vorhanden ist

Wie verwendet man einen Zähler in einer for in-Schleife?

Wenn man den Zähler der Schleife manuell verwalten möchte, ist enumerate() sehr nützlich.

Methode mit enumerate()

fruits = ["Apfel", "Banane", "Kirsche"]

for index, fruit in enumerate(fruits):
    print(f"{index}: {fruit}")

Mit enumerate() muss der Zählervariable nicht explizit verwaltet werden

Ursachen und Lösungen, wenn die for in-Schleife nicht funktioniert

Mögliche Ursachen

  1. Kein iterierbares Objekt verwendet num = 10 for n in num: # TypeError print(n) Lösung: num ist eine Ganzzahl und nicht iterierbar. Verwenden Sie range(). for n in range(num): print(n)
  2. Die Liste ist leer
    items = [] for item in items: print(item) # nichts wird ausgegeben
    Lösung: Überprüfen Sie im Voraus, ob die Liste Elemente enthält.

Zusammenfassung

In diesem Kapitel haben wir häufig gestellte Fragen zur for in-Schleife in Python und deren Lösungen vorgestellt.

Wichtige Punkte

  • Unterschied zwischen for und while: Für feste Anzahl von Wiederholungen for, für bedingte Wiederholungen while
  • break beendet die Schleife, continue überspringt
  • for-else wird nur ausgeführt, wenn die Schleife normal endet
  • Mit enumerate() kann der Schleifenindex einfach abgerufen werden

8. Zusammenfassung

In diesem Artikel haben wir die Python-for in-Schleife von den Grundlagen bis zu fortgeschrittenen Themen umfassend erläutert.
Dieses Kapitel fasst den bisher gelernten Inhalt zusammen und ordnet die wichtigen Punkte.

Grundlagen der for in-Schleife

  • Die for in-Schleife ist eine Syntax zur Durchlaufung iterierbarer Daten wie Listen, Wörterbücher, Tupel, Mengen und Strings
  • Grundlegende Syntax
    for Variable in iterierbaresObjekt: Verarbeitung
  • Listen durchlaufen
    fruits = ["apple", "banana", "cherry"] for fruit in fruits: print(fruit)

Fortgeschrittene Techniken für for in

Schleife mit range()

for i in range(5):
    print(i)  # 0, 1, 2, 3, 4

Gleichzeitige Schleife mehrerer Listen mit zip()

names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 35]

for name, age in zip(names, ages):
    print(f"{name} is {age} years old")

Indizes mit enumerate() abrufen

fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits, start=1):
    print(f"{index}: {fruit}")

Listen sortiert durchlaufen

numbers = [5, 3, 8, 1, 2]
for num in sorted(numbers):
    print(num)

Kontrolle der Schleifen

break zur vorzeitigen Beendigung der Schleife

for num in range(1, 6):
    if num == 3:
        break
    print(num)

continue zum Überspringen bestimmter Verarbeitungen

for num in range(1, 6):
    if num == 3:
        continue
    print(num)

for-else nutzen

for num in range(1, 6):
    if num == 7:
        break
else:
    print("7 wurde nicht gefunden")

Schleifen mit List Comprehension

Normale for-Schleife

numbers = [1, 2, 3, 4, 5]
squared_numbers = []
for num in numbers:
    squared_numbers.append(num ** 2)

Mit List Comprehension kompakt schreiben

squared_numbers = [num ** 2 for num in numbers]

Bedingte List Comprehension

even_numbers = [num for num in numbers if num % 2 == 0]

Dictionary Comprehension

squared_dict = {num: num ** 2 for num in numbers}

Häufige Fehler und Lösungen für die for in-Schleife

Integers können nicht direkt durchlaufen werden

num = 10
for i in num:  # Fehler
    print(i)

Lösung

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

Der in-Operator für Dictionaries zielt standardmäßig auf Keys ab

person = {"name": "Alice", "age": 25}
if "Alice" in person:  # Sucht nach Keys, daher False
    print("Existiert")

Lösung: Um Werte zu targeten, verwenden Sie .values()

if "Alice" in person.values():
    print("Existiert")

Ressourcen für weiteres Lernen

Um die Python-for in-Schleife tiefer zu lernen, sollten Sie die folgenden Ressourcen konsultieren.

Zusammenfassung und Punkte für zukünftiges Lernen

In diesem Artikel haben wir die Python-for in-Schleife von den Grundlagen über Anwendungen, Kontrollmethoden, List Comprehensions bis zu häufigen Fragen umfassend erläutert.

Das Verständnis der for in-Schleife macht die grundlegende Datenverarbeitung in Python reibungslos!Mit List Comprehensions, zip() und enumerate() können Sie effizienteren Code schreiben!Um Fehler zu vermeiden, meistern Sie Kontrollmethoden wie break, continue und for-else!Für zukünftiges Lernen lernen Sie fortgeschrittene Schleifenverarbeitung wie while-Schleifen, Rekursionsfunktionen und Generatoren (yield), um Python tiefer zu verstehen.

Nutzen Sie die Schleifenverarbeitung in Python, um effizienten und lesbaren Code zu schreiben!

侍エンジニア塾