Python enumerate()-Funktion: Schleife, Tupel & Zeichenkette

โšก Intelligente Zusammenfassung

Python Die Funktion `enumerate()` fรผgt jedem iterierbaren Objekt einen automatischen Zรคhler hinzu und gibt bei jedem Durchlauf Index-Wert-Paare zurรผck. Hier lernen Sie die Syntax, den optionalen Startindex und die Funktionsweise mit Listen, Tupeln, Zeichenketten und Wรถrterbรผchern kennen.

  • ๐Ÿ”ข Was es tut: Fรผgt jedem Element eines iterierbaren Objekts einen Zรคhler hinzu und gibt Index-Wert-Paare zurรผck.
  • โš™๏ธ Syntax: enumerate(iterable, startIndex) nimmt ein iterierbares Objekt und optional eine Startnummer entgegen.
  • ๐Ÿ”Ÿ Benutzerdefinierter Start: startIndex legt fest, wo das Zรคhlen beginnt; lรคsst man es weg, beginnt man bei 0.
  • ๐Ÿ” Kloping: Kombinieren Sie es mit einer for-Schleife, um Index und Wert gemeinsam auszulesen.
  • ๐Ÿ“ฆ Beliebiges iterierbares Objekt: Funktioniert mit Listen, Tupeln, Zeichenketten und Wรถrterbรผchern.
  • ๐Ÿค– KI-Hilfe: Copilot und KI-Tools vervollstรคndigen enumerate()-Schleifen automatisch und refaktorisieren manuelle Zรคhler.

Enumerate()-Funktion in Python

Was ist Python Aufzรคhlen?

Python Aufzรคhlen() ist eine integrierte Funktion des Python Bibliothek. Sie nimmt die gegebene Eingabe als Sammlung oder Tupel und gibt sie als Enumerationsobjekt zurรผck. Die Python Der Befehl Enumerate() fรผgt jedem Element des iterierbaren Objekts einen Zรคhler hinzu und gibt ein Enumerationsobjekt als Ausgabezeichenfolge zurรผck.

Syntax von Python aufzรคhlen()

enumerate(iterable, startIndex)

KenngrรถรŸen

Drei Parameter sind:

  • Iterable: ein Objekt, das in einer Schleife ausgefรผhrt werden kann.
  • Startindex: (optional) Die Zรคhlung beginnt mit dem im startIndex angegebenen Wert fรผr das erste Element in der Schleife und erhรถht ihn fรผr das nรคchste Element, bis es das Ende der Schleife erreicht.

Wenn jedoch startIndex nicht angegeben ist, beginnt die Zรคhlung bei 0.

Rรผckgabewert

Es wird ein iterierbares Objekt mit einem Zรคhlwert fรผr jedes der Elemente des als Eingabe angegebenen Iteratorobjekts zurรผckgegeben.

Enumerate() in Python Beispiel

Die Enumerate-Methode verfรผgt รผber einen automatischen Zรคhler/Index fรผr jedes der in der Enumerate-Liste vorhandenen Elemente in Python. Der Firstindex-Wert beginnt bei 0. Sie kรถnnen den Startindex auch angeben, indem Sie den optionalen Parameter startIndex in enumerate verwenden.
Beispiel
Im folgenden Code ist mylist die Liste, die der Enumerate-Funktion in Python. Der list()-Funktion wird zur Anzeige der Enumerate- Python Ausgabe.

Hinweis: Es wird kein startIndex verwendet, daher beginnt der Index fรผr das erste Element bei 0.

Die Ausgabe von enumerate sieht folgendermaรŸen aus:

(0, item_1), (1, item_2), (2, item_3), โ€ฆ (n, item_n)

Datei: python_enumerate.py

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

Ausgang:

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

Verwenden vonEnumerate() fรผr eine Liste mit startIndex

Im folgenden Beispiel ist der Startindex 2. Der Index des ersten Elements beginnt mit dem angegebenen Startindex.

Ejemplo:

Im folgenden Beispiel ist mylist die zur Aufzรคhlung angegebene Liste. Die Funktion list() wird verwendet, um die Enumerate-Ausgabe anzuzeigen.

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

Ausgang:

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

Kloping รผber ein Enumerate-Objekt

Das Beispiel zeigt die Aufzรคhlung eines Objekts mit und ohne startIndex.

  • Die erste for-Schleife hat keinen startIndex, daher beginnt der Index bei 0.
  • Die zweite for-Schleife hat startIndex als 10, sodass der Index bei 10 beginnt.

Ejemplo:

mylist = ['A', 'B' ,'C', 'D']

for i in enumerate(mylist):
  print(i)
  print("\n")

print("Using startIndex as 10")    

for i in enumerate(mylist, 10):
  print(i)
  print("\n")

Ausgang:

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

Using startIndex as 10
(10, 'A')
(11, 'B')
(12, 'C')
(13, 'D')

Aufzรคhlen eines Tupels

Im folgenden Beispiel kรถnnen Sie ein Tupel innerhalb einer Aufzรคhlung verwenden. Sie kรถnnen auch einen startIndex verwenden, und der Schlรผssel fรผr jedes Element beginnt mit dem angegebenen startIndex.

StandardmรครŸig ist der startIndex 0. Daher sehen Sie dort den Schlรผssel 0 fรผr Elemente A und 1 fรผr B und so weiter.

Ejemplo:

my_tuple = ("A", "B", "C", "D", "E")
for i in enumerate(my_tuple):
  print(i)

Ausgang:

(0, 'A')
(1, 'B')
(2, 'C')
(3, 'D')
(4, 'E')

Aufzรคhlen eines Strings

In Python, der String ist ein Array, und daher kรถnnen Sie ihn durchlaufen. Wenn Sie einen String an enumerate() รผbergeben, zeigt Ihnen die Ausgabe den Index und den Wert fรผr jedes Zeichen des Strings.

Ejemplo:

my_str = "Guru99 "
for i in enumerate(my_str):
  print(i)

Ausgang:

(0, 'G')
(1, 'u')
(2, 'r')
(3, 'u')
(4, '9')
(5, '9')

Zรคhlen Sie ein Wรถrterbuch auf

In Python, ein Wรถrterbuch wird in geschweiften Klammern aufgelistet, innerhalb dieser geschweiften Klammern werden die Werte deklariert.

Jedes Element ist ein Schlรผssel/Wert-Paar und wird durch Kommas getrennt. Sie kรถnnen ein Wรถrterbuch in einem enumerate() verwenden und die Ausgabe sehen.

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

Ausgang:

(0, 'a')
(1, 'b')
(2, 'c')
(3, 'd')

Vorteile der Verwendung von Enumerate

Hier sind die Vorteile der Verwendung von Enumerate in Python:

  • Mit Enumerate kรถnnen Sie eine Liste, ein Tupel, ein Wรถrterbuch oder einen String durchlaufen und die Werte zusammen mit dem Index angeben.
  • Um den Indexwert mithilfe einer For-Schleife abzurufen, kรถnnen Sie list.index(n) verwenden. Allerdings ist list.index(n) sehr teuer, da es die for-Schleife zweimal durchlรคuft. Enumerate ist in einem solchen Fall sehr hilfreich, da es den Index und die Elemente auf einmal bereitstellt.

Hรคufig gestellte Fragen

enumerate() ist eine eingebaute Funktion, die einem iterierbaren Objekt wie einer Liste, einem Tupel, einer Zeichenkette oder einem Wรถrterbuch einen Zรคhler hinzufรผgt und Index-Wert-Paare zurรผckgibt.

Die Syntax lautet enumerate(iterable, startIndex). Das iterierbare Objekt ist ein beliebiges iterierbares Objekt; startIndex ist eine optionale Startzahl. Ohne diese Angabe beginnt die Zรคhlung bei 0.

รœbergeben Sie ein zweites Argument, z. B. enumerate(mylist, 2). Die Zรคhlung beginnt dann bei diesem Wert anstatt bei 0, sodass das erste Element den Index 2 erhรคlt.

Ja. Die รœbergabe eines Wรถrterbuchs durchlรคuft dessen Schlรผssel und ordnet jedem Schlรผssel einen Index zu. Die Liste der Wรถrterbuchelemente (items()) wird aufgerufen, wenn auch die Werte benรถtigt werden.

enumerate() ist sauberer und schneller als ein manueller Index oder list.index(n), das zweimal durchsucht wird und Index und Element zusammen zurรผckgibt.

KI-Assistenten wie GitHub Copilot vervollstรคndigen enumerate()-Schleifen automatisch, schlagen einen Startindex vor und รผberarbeiten manuelle Zรคhler, wodurch idiomatische Schreibweisen beschleunigt werden. Python und das Abfangen von Off-by-One-Fehlern.

Ja. KI-gestรผtzte Linter automatisieren diesen Refactoring-Prozess, indem sie `range(len(x))`-Muster erkennen und diese in `enumerate(x)` umschreiben, um einen saubereren und effizienteren Code zu gewรคhrleisten. PythonIC-Schleifen mit identischem Verhalten.

Die Funktion `enumerate()` gibt ein `enumerate`-Objekt zurรผck, einen Iterator von (Index, Wert)-Paaren. Um alle Paare anzuzeigen, kann man die Liste direkt durchlaufen oder sie in `list()` einbetten.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: