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