Coursera Learner working on a presentation with Coursera logo and
Coursera Learner working on a presentation with Coursera logo and

In Python-Programmen verwenden Programmierer oft die for-Schleife, um eine Schleife über ein iterables Objekt zu erstellen. Das bedeutet im Wesentlichen, dass Sie keine Zählvariable für den Zugriff auf Elemente innerhalb der Iterable benötigen. In bestimmten Fällen benötigen Programmierer jedoch eine Variable, die sich bei jeder Schleifeniteration ändern kann. Anstatt Variablen zu erstellen und zu erhöhen, kann man immer die Funktion enumerate () verwenden, um einen Zähler und gleichzeitig einen Wert zu erhalten.

Iteration unter Verwendung der Schleifen in Python

Die for-Schleife von Python verwendet eine auf Sammlungen basierende Iteration, was bedeutet, dass Python dazu neigt, den Schleifenvariablen (von iterables) in jeder einzelnen Iteration ein Element zuzuweisen. Hier ist ein Beispiel.

Bei den Werten in diesem Beispiel handelt es sich um eine Liste, die 3 Zeichenketten enthält, nämlich die Alphabete a, b und c. Im Python-Programm werden Listen als Variante der iterierbaren Objekte betrachtet. Die Schleifenvariable in der for-Schleife ist value. Man sollte auch bedenken, dass bei jeder Iteration der Schleife value auf das nächste Element gesetzt wird und aus den Befehlswerten stammt.

Danach müssen Sie den Wert auf dem Bildschirm ausgeben. Einer der Hauptvorteile der auf Sammlungen basierenden Iterationen ist, dass sie Fehler vermeiden, die in vielen anderen Programmiersprachen häufig auftreten.

Nehmen wir an, dass Sie neben dem Wert auch den Index des Elements auf dem Bildschirm und bei jeder Iteration ausgeben möchten. Ein effektiver Weg, diese Aufgabe anzugehen, wäre, eine Variable zum Speichern des Index zu bilden. Sobald Sie das getan haben, können Sie die Variable bei jeder Iteration aktualisieren, was etwa so aussehen würde:

 

In dem oben genannten Beispiel ist der Index im Wesentlichen eine Ganzzahl, die Ihre Position in der Liste festhält. Bei jedem Durchlauf der Schleife wird der Index mit dem Wert ausgedruckt. Im letzten Schritt der Schleife müssen Sie die Zahl im Index aktualisieren (stellen Sie sicher, dass Sie sie um eins aktualisieren). Sie werden einen Fehler feststellen, wenn Sie den Index nicht bei jeder Iteration aktualisieren. So könnte es aussehen

Im Beispiel werden Sie feststellen, dass jeder Index bei jeder Iteration auf 0 bleibt, weil sein Wert nicht durch einen Code am Ende der Schleife aktualisiert wurde. Einen Fehler wie diesen aufzuspüren, kann unglaublich schwierig sein, insbesondere bei komplizierten und längeren Schleifen.

Eine effektive Möglichkeit, dieses Problem zu lösen, ist die Kombination von range() und len() zur Erstellung eines Index. Diese Taktik wird oft empfohlen, weil sie Ihnen hilft, Indizes automatisch zu erstellen, so dass Sie sich nicht daran erinnern müssen, wann Sie die Aktualisierung vornehmen müssen. 

Die richtige Verwendung von enumerate() in Python

Programmierer können enumerate() innerhalb einer einzelnen Schleife genauso verwenden, wie sie das anfängliche iterable-Objekt verwenden würden. Anstatt die Iterable direkt nach dem in present in for hinzuzufügen, wird sie in die Klammern des enumerate()-Befehls gesetzt. Außerdem müssen Sie leichte Änderungen an der Schleifenvariablen vornehmen. Hier ist ein Beispiel, das zeigt, wie dies aussehen wird:

 

Nachdem Sie enumerate() eingegeben haben, erhalten Sie von der Funktion 2 Schleifenvariablen, die aus der Anzahl der aktuellen Iteration und dem Wert des Elements der aktuellen Iteration bestehen.

Ähnlich wie bei einer normalen for-Schleife können Sie den Schleifenvariablen einen beliebigen Namen geben. Im obigen Beispiel wurden die Wörter value und count verwendet. Sie könnten sie aber auch v und i nennen oder jeden anderen Namen, solange er in Python gültig ist. 

Wenn Sie die Funktion enumerate () verwenden, müssen Sie nicht daran denken, wann Sie auf das Element in der Iterable zugreifen. Was die Sache noch besser macht, ist, dass Sie sich nicht daran erinnern müssen, den Index am Ende der Schleife weiterzugeben. Python kümmert sich um fast alles automatisch, so dass Sie sich nicht um wesentliche Details kümmern müssen. 

Wichtiger Hinweis

Die Verwendung der beiden Schleifenvariablen value und count, die durch ein Komma getrennt sind, zeigt das Entpacken von Argumenten. Dies ist eine unglaublich leistungsfähige Funktion in Python.

Die Funktion enumerate() in Python hat ein zusätzliches Argument, mit dem der Programmierer den Startwert der Zählung steuern kann. Der Startwert ist standardmäßig Null. Das liegt daran, dass Pythons Sequenzen indiziert sind und alle mit 0 beginnen. Mit einfachen Worten: Wann immer Sie das erste Element einer Liste abrufen wollen, stellen Sie sicher, dass Sie den Index 0 wählen.

Richtiges Üben von enumerate() in Python

Programmierer können die Funktion enumerate() immer dann verwenden, wenn sie das Element und die Anzahl innerhalb einer Schleife verwenden möchten. Es ist zu bedenken, dass die Verwendung von enumerate() die Gesamtzahl bei jeder Iteration um 1 erhöht. Dies führt jedoch nicht zu einer allzu großen Unflexibilität. Sie können sogar recht flexibel bleiben, da es sich bei der Zählung um eine reguläre Python-Ganzzahl handelt, die Sie auf mehrere Arten verwenden können. 

Die interne Funktionsweise von enumerate() in Python

Um einen besseren Eindruck davon zu bekommen, wie enumerate() tatsächlich funktioniert, wäre es am besten, die Version, die Sie haben, mit Python zu implementieren. Ihre enumerate()-Version muss zwei wichtige Voraussetzungen erfüllen. Hier sind sie:

  • Beginnt mit der Annahme des Anfangswertes der Zählung und der Iterablen als Argumente
  • Senden Sie ein Tupel zurück, das den aktuellen Zählwert zusammen mit dem Element enthält, das mit der Iterable verbunden ist.

Im obigen Beispiel verwendet my_enumerate 2 Argumente, start und sequence, wobei null der Standardwert von start ist. In der Funktionsdefinition müssen Sie n als Wert für start verwenden, während Sie eine for-Schleife für sequence ausführen. Vergewissern Sie sich, dass Sie für jedes Element in der Sequenz die Kontrolle an die entsprechende Stelle weitergeben. Nach diesem Schritt senden Sie die aktuellen Werte von elem und n zurück. Schließlich erhöhen Sie den Befehl n, um die nächste Iteration vorzubereiten. 

Wenn Sie in Python wie ein erfahrener Programmierer aufzählen wollen, ist es wichtig, die Grundlagen zu kennen. Die in diesem Artikel erwähnten Informationen und Beispiele geben Ihnen eine klare Richtung vor, wie Sie richtig aufzählen können.  

Languages

Weekly newsletter

No spam. Just the latest releases and tips, interesting articles, and exclusive interviews in your inbox every week.