Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Python

Pythons enumerate() meistern: Schleifen mit Indizes für Listen, Tupel, Strings und Dictionaries

Pythons enumerate() meistern: Schleifen mit Indizes für Listen, Tupel, Strings und Dictionaries

Was ist Pythons enumerate?

enumerate() ist eine eingebaute Python-Funktion, die jedes Iterierbare mit einem Zähler erweitert und einen Iterator von (index, value)-Tupeln zurückgibt. Laut der offiziellen Python-Dokumentation bietet die Funktion eine prägnante, effiziente Möglichkeit, während der Iteration sowohl auf die Position als auch auf das Element zuzugreifen.

Wichtigste Erkenntnisse

  • Syntax und Parameter von enumerate() verstehen.
  • Lernen, wie man einen benutzerdefinierten Startindex festlegt.
  • enumerate() auf Listen, Tupel, Strings und Dictionaries anwenden.
  • Den Leistungsvorteil gegenüber manueller Indizierung erkennen.

Syntax

enumerate(iterable, start=0)

Parameter

  • iterable: Jedes Objekt, das Iteration unterstützt.
  • start (optional): Der Anfangswert des Zählers. Standard ist 0.

Rückgabewert

Ein Iterator, der Paare der Form (index, element) liefert, wobei index bei start beginnt und sich für jedes Element um eins erhöht.

enumerate() verwenden – Grundlegendes Beispiel

Unten ist eine einfache Demonstration. Die Liste meine_liste wird an enumerate() übergeben, und der resultierende Iterator wird für die Anzeige in eine Liste konvertiert.

meine_liste = ['A', 'B', 'C', 'D']
print(list(enumerate(meine_liste)))

Ausgabe:

[(0, 'A'), (1, 'B'), (2, 'C'), (3, 'D')]

Benutzerdefinierter Startindex

Durch Angabe des start-Arguments können Sie die Nummerierung verschieben:

meine_liste = ['A', 'B', 'C', 'D']
print(list(enumerate(meine_liste, 2)))

Ausgabe:

[(2, 'A'), (3, 'B'), (4, 'C'), (5, 'D')]

Schleifen mit enumerate()

Die Verwendung von enumerate() innerhalb einer for-Schleife hält den Code sauber und eliminiert die Notwendigkeit einer separaten Zählervariable.

meine_liste = ['A', 'B', 'C', 'D']
for index, value in enumerate(meine_liste):
    print(index, value)
print("---")
for index, value in enumerate(meine_liste, 10):
    print(index, value)

Ausgabe:

0 A
1 B
2 C
3 D
---
10 A
11 B
12 C
13 D

Tupel enumerieren

Dasselbe Muster gilt für Tupel:

mein_tupel = ('A', 'B', 'C', 'D', 'E')
for index, value in enumerate(mein_tupel):
    print(index, value)

Ausgabe:

0 A
1 B
2 C
3 D
4 E

String enumerieren

Strings sind in Python iterierbar, daher kann enumerate() die Position jedes Zeichens enthüllen:

mein_str = "Guru99"
for index, char in enumerate(mein_str):
    print(index, char)

Ausgabe:

0 G
1 u
2 r
3 u
4 9
5 9

Dictionary enumerieren

Wenn Sie ein Dictionary an enumerate() übergeben, iteriert es über die Keys:

mein_dict = {"a": "PHP", "b": "JAVA", "c": "PYTHON", "d": "NODEJS"}
for index, key in enumerate(mein_dict):
    print(index, key)

Ausgabe:

0 a
1 b
2 c
3 d

Warum enumerate() verwenden?

  • Es liefert Index und Wert in einem einzelnen, lesbaren Ausdruck.
  • Im Gegensatz zu list.index() innerhalb einer Schleife, was jedes Mal eine O(n)-Suche durchführt, läuft enumerate() in O(1) pro Iteration, was die Leistung bei großen Sammlungen verbessert.
  • Es reduziert Boilerplate-Code, verbessert Wartbarkeit und verringert Bugs.

Zusammenfassung

  • enumerate() ist ein Kern-Feature von Python zum Paaren von Indizes mit Iterierbaren-Elementen.
  • Es akzeptiert einen optionalen start-Parameter zur Anpassung der Nummerierung.
  • Anwendbar auf Listen, Tupel, Strings, Dictionaries und jedes Iterierbare.
  • Bietet eine Single-Pass, effiziente Lösung für index-bewusste Schleifen.
  • Folgen Sie der offiziellen Dokumentation für die genauesten und aktuellsten Verwendungsdetails.

Python

  1. Python-Funktionsargumente meistern: Positional, Keyword & Default-Parameter
  2. Python Lambda-Funktionen: Praxisleitfaden zu anonymen Funktionen
  3. Python Generatoren: Effiziente Iteration und fortgeschrittene Anwendungsfälle
  4. Python Closures erklärt: Wie verschachtelte Funktionen Variablen erfassen
  5. Python Decorators meistern: Funktionen mit Experten-Techniken erweitern
  6. Python Schleifen meistern: For, While, Break, Continue und Enumerate erklärt
  7. Pythons strip()-Methode meistern: Umfassender Leitfaden & Praxisbeispiele
  8. Pythons str.count(): Zeichen & Teilstrings zählen mit Beispielen
  9. Python len(): Praktischer Leitfaden zur Messung von Objektlängen
  10. Pythons range()-Funktion meistern: Von Grundlagen bis zu fortgeschrittenen Anwendungsfällen