Python Enumerate: Eine Erklärung mit Beispielen

Python Enumerate: Eine Erklärung mit Beispielen

Die Arbeit mit Listen und anderen iterierbaren Objekten ist eine häufige Aufgabe in der Python-Programmierung . Manchmal müssen Sie diese Iterables möglicherweise in einer Schleife durchlaufen und gleichzeitig den Index oder die Anzahl des aktuellen Elements im Auge behalten. Hier kommt die in Python integrierte Funktion enumerate() zur Rettung.

Die Funktion enumerate() in Python bietet Ihnen eine bequeme Möglichkeit, sowohl auf den Index eines Elements als auch auf das Element selbst zuzugreifen, wenn Sie eine Schleife über eine Liste oder ein beliebiges iterierbares Objekt ausführen.

Python Enumerate: Eine Erklärung mit Beispielen

Diese Funktion macht Ihren Code pythonischer , lesbarer und effizienter. Es ermöglicht Ihnen, Elemente zu durchlaufen und sowohl ihren Index als auch ihren Wert abzurufen. Anstatt einen Zähler innerhalb der Schleife manuell zu initialisieren und zu erhöhen, können Sie sich darauf verlassen, dass enumerate() die Aufgabe für Sie erledigt.

In diesem Artikel erfahren Sie mehr über die in Python integrierte Funktion enumerate(), ihre Bedeutung in Ihrem Python- Code und ihre Anwendungsfälle.

Lasst uns loslegen!

Inhaltsverzeichnis

Was ist die Python-Enumerate-Funktion?

Stellen Sie sich vor, Sie arbeiten mit einer Listendatenstruktur und möchten mit jedem Element etwas tun, müssen aber auch die Position des Elements in der Liste kennen.

Ohne Python enumerate() könnten Sie sich entscheiden, eine Zählervariable zu verwenden, die Sie in jeder Schleifeniteration erhöhen. Dieser Ansatz könnte jedoch fehleranfällig sein und ist nicht sehr „pythonisch“.

Enumerate ist eine in Python integrierte Funktion, die es Ihnen ermöglicht, über iterierbare Objekte zu iterieren und dabei den Index des aktuellen Elements zu verfolgen.

Nachdem Sie nun verstanden haben, was die Funktion enumerate() in Python ist, gehen wir im nächsten Abschnitt zur Syntax der Funktion enumerate() in Python über!

Was ist die Syntax der Python-Enumerate-Funktion?

Die Syntax einer Funktion definiert, wie Sie diese Funktion in Ihrem Code verwenden sollten, einschließlich der Argumente, die sie akzeptiert und was sie zurückgibt.

Python Enumerate: Eine Erklärung mit Beispielen

Die Funktion enumerate() verwendet die folgende Syntax:

enumerate(, start=0)
  • : Dies ist ein erforderlicher Parameter und kann ein beliebiger iterierbarer Python-Parameter sein, beispielsweise eine Liste oder ein Tupel.

  • start : Dieser zweite Parameter ist ein optionaler Parameter, der den Startwert des Zählers angibt. Standardmäßig ist es auf 0 eingestellt.

Der Rückgabewert der Funktion enumerate() ist ein Enumerate-Objekt, bei dem es sich um einen Iterator mit Paaren von (Index, Element) für jedes Element in der angegebenen Iterable handelt.

Sie können diesen Iterator in einer for-Schleife verwenden , um gleichzeitig auf den Index und das Element zuzugreifen.

Das folgende Beispiel zeigt, wie Sie die Funktion enumerate() mit einer Liste verwenden können :

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

for index, item in enumerate(fruits):
    print(index, item)

In diesem Beispiel durchläuft enumerate() die Enumerate-Objekte, also die Obstliste , und weist jedem Element einen Index zu, beginnend bei 0.

Die for- Schleife entpackt dann den Index und das Element aus dem Aufzählungsobjekt. Dadurch können Sie Vorgänge basierend auf dem Index und dem Wert des Elements ausführen.

Wir verwenden die Druckfunktion, um den Index und das Element auf dem Bildschirm auszudrucken. Die Ausgabe des Codes ist im Bild unten dargestellt:

Python Enumerate: Eine Erklärung mit Beispielen

In der Ausgabe können Sie sehen, dass der Startindex 0 ist. Dies ist der Standardwert des Index, der vom Python-Interpreter automatisch zugewiesen wird.

Sie können jedoch auch einen anderen Startwert für den Zähler angeben, indem Sie den optionalen Startparameter angeben, wie im folgenden Code gezeigt:

for index, item in enumerate(fruits, start=1):
    print(index, item)

Die Ausgabe ähnelt der oben. Der einzige Unterschied besteht darin, dass der Index jetzt bei 1 beginnt.

Python Enumerate: Eine Erklärung mit Beispielen

Jetzt haben Sie die Syntax der Funktion enumerate() in Python im Griff. Aber wie bei jedem Werkzeug ist es wichtig zu wissen, wann und wo man es verwendet.

Aus diesem Grund werden wir im nächsten Abschnitt einige häufige Anwendungsfälle für die Funktion enumerate() untersuchen!

5 Anwendungsfälle der Python-Enumerate-Funktion

Die Enumerate-Funktion in Python wird häufig in Szenarien verwendet, in denen sowohl der Index als auch der Wert eines iterierbaren Objekts für den Programmierer von Bedeutung sind.

Nachfolgend haben wir einige der häufigsten Anwendungsfälle für Aufzählungsfunktionen in Python aufgelistet.

1. Verwendung von Enumerate mit Python-Listen

In Python ist eine Liste eine integrierte Datenstruktur, die es Ihnen ermöglicht, mehrere Elemente in einer einzigen Variablen zu speichern. Stellen Sie sich eine Liste als einen Behälter vor, in den Sie verschiedene Elemente einfügen können und deren Reihenfolge beibehalten wird.

Die Funktion enumerate() kann auf verschiedene Arten für Listen verwendet werden, wie zum Beispiel:

A. Zugriff auf Listenelemente und ihre Indizes mit Python Enumerate

Einer der häufigsten Anwendungsfälle für enumerate() ist, wenn Sie sowohl auf die Elemente einer Liste als auch auf deren Indizes zugreifen müssen. Mit Enumerate können Sie dies auf saubere und effiziente Weise tun.

Das Folgende ist ein Beispiel für den Zugriff auf Elemente einer Liste und deren Indizes:

fruits = ['apple', 'banana', 'mango', 'grape', 'orange']
for index, fruit in enumerate(fruits):
    print(f"At index {index}, the fruit is {fruit}.")

Die Ausgabe dieses Codes ist im Bild unten dargestellt:

Python Enumerate: Eine Erklärung mit Beispielen

B. Ändern von Listenelementen mit Python Enumerate

Wenn Sie die Elemente einer Liste basierend auf ihrem Index ändern müssen, ist enumerate() ein hervorragendes Werkzeug. Sie können innerhalb der Schleife auf den Index zugreifen und ihn zum Ändern der Liste verwenden.

Das Folgende ist ein Beispiel für das Ändern von Listenelementen mit der Enumerate-Funktion:

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

for i, num in enumerate(numbers):
    numbers[i] = num * 2

Dieser Python-Code erstellt eine Liste mit Zahlen von 1 bis 5. Anschließend verwendet er eine for-Schleife und die Funktion enumerate(), um die Liste zu durchlaufen.

Bei jeder Iteration multipliziert es die aktuelle Zahl (num) mit 2 und ordnet sie derselben Position in der Liste neu zu (numbers[i]).

Das Ergebnis ist, dass jede Zahl in der Originalliste verdoppelt wird, wie im Bild unten gezeigt:

Python Enumerate: Eine Erklärung mit Beispielen

C. Vergleichen von Elementen in zwei Listen mit Python Enumerate

Wenn Sie Elemente in zwei verschiedenen Listen vergleichen, kann enumerate() den Index bereitstellen, den Sie benötigen, um gleichzeitig auf Elemente in beiden Listen zuzugreifen.

Das Folgende ist ein Beispiel für die Verwendung der Enumerate-Funktion zum Vergleichen von Elementen in zwei Listen:

list1 = [1, 2, 3, 4, 5]
list2 = [1, 2, 3, 0, 5]
for i, value in enumerate(list1):
    if value != list2[i]:
        print(f"Difference at index {i}: {value} (list1) vs {list2[i]} (list2)")

In diesem Code definieren wir zunächst zwei Listen, list1 und list2. Dann durchlaufen wir list1 mithilfe einer for-Schleife mit enumerate(), die den Index (i) und den Wert jedes Elements bereitstellt.

Wenn das aktuelle Element in Liste1 nicht mit dem entsprechenden Element in Liste2 übereinstimmt, werden der Index der Differenz und die unterschiedlichen Werte aus beiden Listen gedruckt.

Das Ergebnis dieses Codes ist unten dargestellt:

Python Enumerate: Eine Erklärung mit Beispielen

2. Verwendung von Enumerate mit Python-Tupeln

Ein Tupel in Python ist eine geordnete Sammlung von Elementen, ähnlich einer Liste. Der einzige Unterschied besteht darin, dass ein Tupel unveränderlich ist, was bedeutet, dass Sie seinen Inhalt nach der Erstellung nicht ändern können.

Im Folgenden sind einige Fälle aufgeführt, in denen Sie enumerate mit Python-Tupeln verwenden können.

A. Verwenden von Python Enumerate() zum Suchen eines Elements in einem Tupel

Wenn Sie in Python mit Tupeln arbeiten, müssen Sie möglicherweise häufig herausfinden, ob ein Element in einem Tupel vorhanden ist.

Der folgende Beispielcode demonstriert die Verwendung von enumerate zum Suchen von Elementen in einem Tupel:

fruits = ('apple', 'banana', 'mango', 'grape', 'orange')
for i, fruit in enumerate(fruits):
    if fruit == 'mango':
        print(f"'mango' found at position {i}")

Dieser Code gibt „‚Mango‘ an Position 2 gefunden“ aus, da sich „Mango“ an Index 2 im Tupel befindet.

Python Enumerate: Eine Erklärung mit Beispielen

B. Verwenden von Python Enumerate() zum Erstellen eines Wörterbuchs aus einem Tupel

Wenn Sie ein Tupel haben und es in ein Wörterbuch umwandeln müssen, kann die Funktion enumerate() von Python Ihr Werkzeug der Wahl sein.

Der Beispielcode zeigt, wie Sie mithilfe von enumerate ein Wörterbuch aus einem Tupel erstellen können:

fruits = ('apple', 'banana', 'mango', 'grape', 'orange')

fruit_dict = {i: fruit for i, fruit in enumerate(fruits)}
print(fruit_dict)

Dieser Code gibt ein Wörterbuch aus, in dem die Schlüssel die Indizes und die Werte die Elemente aus dem Tupel sind.

Python Enumerate: Eine Erklärung mit Beispielen

3. Verwendung von Enumerate mit Python-Wörterbüchern

In Python ist ein Wörterbuch eine veränderliche, ungeordnete Sammlung von Schlüssel-Wert-Paaren , wobei jeder Schlüssel eindeutig sein muss. Betrachten Sie es als ein echtes Wörterbuch: Sie schlagen ein Wort (den Schlüssel) nach und erhalten seine Definition (den Wert).

Im Folgenden sind einige Fälle aufgeführt, in denen Sie enumerate mit Python-Wörterbüchern verwenden können:

A. Durchlaufen von Schlüsseln und Werten eines Wörterbuchs

Sie können die Funktion enumerate() verwenden, um die Schlüssel und Werte eines Wörterbuchs zu durchlaufen.

Die Funktion enumerate() fügt einem iterierbaren Objekt (z. B. Wörterbüchern) einen Zähler hinzu und ermöglicht Ihnen den Zugriff auf den aktuellen Indexwert.

Nachfolgend finden Sie ein Beispiel für eine Aufzählungsfunktion mit einem Python- Wörterbuch:

example_dict = {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
for i, k in enumerate(example_dict):
    print(i, k)

In diesem Python-Code erstellen wir zunächst ein Wörterbuch namens example_dict. Dann verwenden wir die Funktion enumerate(), um das Wörterbuch zu durchlaufen.

Für jede Iteration geben wir die Schleifenanzahl (die durch i gegeben ist und bei 0 beginnt) und den aktuellen Schlüssel (der k ist) aus dem Wörterbuch aus.

Python Enumerate: Eine Erklärung mit Beispielen

B. Kombination von Python Enumerate mit der Items-Funktion

Sie können auch über die Funktion items( ) zusammen mit enumerate() auf Schlüssel und Werte eines Wörterbuchs zugreifen . Die Funktion items() gibt eine iterierbare Sammlung von Schlüssel-Wert-Paaren als Tupel zurück.

Das folgende Beispiel zeigt, wie Sie die Funktion items() mit enumerate() verwenden können :

example_dict = {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
for i, (k, v) in enumerate(example_dict.items()):
    print(i, k, v)

In diesem Code erstellen wir ein Wörterbuch mit dem Namen example_dict und verwenden dann die Funktion enumerate(), um die Schlüssel-Wert-Paare des Wörterbuchs zu durchlaufen. Während jeder Iteration geben wir den Schleifenindex „i“, den aktuellen Schlüssel „k“ und den entsprechenden Wert „v“ aus.

Python Enumerate: Eine Erklärung mit Beispielen

Sie haben jetzt ein solides Verständnis dafür, wie Sie die Funktion enumerate() von Python in einigen gängigen Szenarien verwenden. Aber enumerate() hat noch mehr zu bieten.

Lassen Sie uns im nächsten Abschnitt auf einige fortgeschrittene Anwendungsfälle rund um enumerate() eingehen!

3 erweiterte Anwendungsfälle von Python Enumerate

In diesem Abschnitt gehen wir über die Grundlagen hinaus und untersuchen einige der erweiterten Anwendungsfälle der Enumerate-Funktion in Python.

Wir werden die folgenden Anwendungsfälle abdecken:

  1. Verwenden von Enumerate mit Python-Klassen

  2. Verwenden von Enumerate mit Enum-Klassen

  3. Verwendung von Enumerate zur Auftragsstornierung

Lasst uns loslegen!

1. Enumerate mit Python-Klassen verwenden

Auf Ihrer Python-Programmierreise stoßen Sie möglicherweise auf Situationen, in denen Sie Enumerate mit benutzerdefinierten Klassen verwenden möchten.

Um dies zu erreichen, sollte Ihre Klasse die Methode iter() implementieren , die es ihr ermöglicht, iterierbar zu sein.

Stellen Sie sich eine Klasse Color vor , die Farbnamen und die zugehörigen Hexadezimalwerte speichert:

class Color:
    def __init__(self, colors: dict):
        self.colors = colors

    def __iter__(self):
        return iter(self.colors.items())

colors = Color({"red": "#FF0000", "green": "#00FF00", "blue": "#0000FF"})

for index, (name, hex_value) in enumerate(colors):
    print(f"{index}: {name} => {hex_value}")

In diesem Code erstellen wir eine Color-Klasse, die ein Wörterbuch mit Farbnamen und den entsprechenden Hexadezimalwerten verwendet.

Wenn Sie enumerate() in der Schleife verwenden, wird der Index zusammen mit jedem Schlüssel-Wert-Paar bereitgestellt. Dadurch können Sie den Index, den Farbnamen und seinen Hexadezimalwert in einer formatierten Zeichenfolge drucken.

Python Enumerate: Eine Erklärung mit Beispielen

2. Verwenden von Python Enumerate mit Enum-Klassen

Python verfügt über eine integrierte Enum- Klasse, mit der Sie Aufzählungstypen mit automatisch zugewiesenen Ganzzahlwerten erstellen können.

Schauen Sie sich zum Beispiel den folgenden Code an:

from enum import Enum, auto

class Direction(Enum):
    NORTH = auto()
    EAST = auto()
    SOUTH = auto()
    WEST = auto()

for index, direction in enumerate(Direction):
    print(f"{index}: {direction.name} => {direction.value}")

In diesem Skript definieren wir mithilfe des Python-Enumerationsmoduls eine Aufzählungsrichtung mit vier Mitgliedern (NORTH, EAST, SOUTH und WEST). Die Funktion auto() weist jedem Mitglied einen automatischen Wert zu.

Wenn Sie enumerate() in der Schleife verwenden, wird zusammen mit jedem Aufzählungsmitglied ein Index bereitgestellt. Dadurch können Sie den Index, den Namen des Mitglieds und seinen automatisch zugewiesenen Wert in einer formatierten Zeichenfolge ausdrucken.

Die Ausgabe dieses Codes ist im Bild unten dargestellt:

Python Enumerate: Eine Erklärung mit Beispielen

3. Verwendung von Python Enumerate zur Reihenfolgeumkehr

In einigen Fällen möchten Sie möglicherweise Elemente in umgekehrter Reihenfolge auflisten. Sie können dies erreichen, indem Sie die integrierte Funktion reversed() in Kombination mit enumerate() verwenden .

Das folgende Beispiel zeigt die Aufzählung von Elementen in umgekehrter Reihenfolge:

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

for index, item in enumerate(reversed(my_list)):
    print(f"{index}: {item}")

In diesem Code iterieren wir mit enumerate() über eine umgekehrte Version von my_list. Dadurch erhalten Sie in jeder Iteration den Index und das Element aus der umgekehrten Liste. Es ermöglicht Ihnen, den Index und das Element in einer formatierten Zeichenfolge zu drucken.

Python Enumerate: Eine Erklärung mit Beispielen

Die Funktion reversed() verändert die ursprüngliche Sequenz nicht; Es erstellt einen neuen Iterator, der die Elemente in umgekehrter Reihenfolge darstellt.

Um mehr über Funktionen in Python zu erfahren, schauen Sie sich das folgende Video an:

Abschließende Gedanken

Wenn Sie Ihre Python-Reise fortsetzen, ist die Beherrschung der Funktion enumerate() ein Muss. Es ist ein Tool, das die Lesbarkeit und Effizienz des Codes verbessert.

Durch die Verwendung von enumerate() können Sie nahtlos sowohl auf den Index als auch auf den Wert in Ihren Schleifen zugreifen und so den Bedarf an Gegenvariablen oder Indizierung reduzieren. Es vereinfacht Ihren Code und macht ihn pythonischer.

Unabhängig davon, ob Sie Listen, Tupel, Zeichenfolgen oder Wörterbücher durchlaufen, wird sich enumerate() als wertvolles Werkzeug erweisen. Durch das Verstehen und Üben von enumerate() machen Sie einen wichtigen Schritt zur Verbesserung Ihrer Python-Programmierkenntnisse!


So speichern und laden Sie eine RDS-Datei in R

So speichern und laden Sie eine RDS-Datei in R

Sie erfahren, wie Sie Objekte aus einer .rds-Datei in R speichern und laden. In diesem Blog wird auch behandelt, wie Sie Objekte aus R in LuckyTemplates importieren.

Was ist Self in Python: Beispiele aus der Praxis

Was ist Self in Python: Beispiele aus der Praxis

Was ist Self in Python: Beispiele aus der Praxis

First N Business Days Revisited – Eine DAX-Codierungssprachenlösung

First N Business Days Revisited – Eine DAX-Codierungssprachenlösung

In diesem Tutorial zur DAX-Codierungssprache erfahren Sie, wie Sie die GENERATE-Funktion verwenden und einen Kennzahltitel dynamisch ändern.

Präsentieren Sie Einblicke mithilfe der Multi-Threaded-Dynamic-Visuals-Technik in LuckyTemplates

Präsentieren Sie Einblicke mithilfe der Multi-Threaded-Dynamic-Visuals-Technik in LuckyTemplates

In diesem Tutorial erfahren Sie, wie Sie mithilfe der Multi-Threaded-Dynamic-Visuals-Technik Erkenntnisse aus dynamischen Datenvisualisierungen in Ihren Berichten gewinnen.

Einführung in den Filterkontext in LuckyTemplates

Einführung in den Filterkontext in LuckyTemplates

In diesem Artikel werde ich den Filterkontext durchgehen. Der Filterkontext ist eines der Hauptthemen, über die sich jeder LuckyTemplates-Benutzer zunächst informieren sollte.

Beste Tipps zur Verwendung der Apps im LuckyTemplates-Onlinedienst

Beste Tipps zur Verwendung der Apps im LuckyTemplates-Onlinedienst

Ich möchte zeigen, wie der LuckyTemplates Apps-Onlinedienst bei der Verwaltung verschiedener Berichte und Erkenntnisse aus verschiedenen Quellen helfen kann.

Analysieren Sie Gewinnmargenänderungen im Laufe der Zeit – Analysen mit LuckyTemplates und DAX

Analysieren Sie Gewinnmargenänderungen im Laufe der Zeit – Analysen mit LuckyTemplates und DAX

Erfahren Sie, wie Sie Ihre Gewinnmargenänderungen mithilfe von Techniken wie Kennzahlenverzweigung und der Kombination von DAX-Formeln in LuckyTemplates ermitteln.

Materialisierungsideen für Datencaches in DAX Studio

Materialisierungsideen für Datencaches in DAX Studio

In diesem Tutorial werden die Ideen der Materialisierung von Datencaches und deren Auswirkungen auf die Leistung von DAXs bei der Bereitstellung von Ergebnissen erläutert.

Geschäftsberichte mit LuckyTemplates

Geschäftsberichte mit LuckyTemplates

Wenn Sie bisher noch Excel verwenden, ist dies der beste Zeitpunkt, LuckyTemplates für Ihre Geschäftsberichtsanforderungen zu verwenden.

Was ist LuckyTemplates Gateway? Alles was du wissen musst

Was ist LuckyTemplates Gateway? Alles was du wissen musst

Was ist LuckyTemplates Gateway? Alles was du wissen musst