Was ist eine For Schleife ?
In der Programmierung spricht man von iterablen Objekten, um eine Sammlung von Objekten zu bezeichnen, die man durchsuchen kann. Zu den iterablen Objekten gehören u. a. Listen, Tupel, Wörterbücher, Strings usw.
Mit einer for Schleife kannst du iterable Objekte durchlaufen und eine Reihe von Anweisungen für jedes Element wiederholen. Der auszuführende Code wird dann so oft wiederholt, wie die Anzahl der Elemente, die unser Iterable enthält. Als essentieller Bestandteil der Programmierung werden for-Schleifen in allen Berufen verwendet, die mit Daten zu tun haben: Datenanalysten, Datenwissenschaftler oder auch Dateningenieure.
In diesem Artikel werden wir sehen, wie man die „for“-Anweisung auf verschiedene Objekttypen anwendet und wie for-Schleifen helfen, die berühmte Programmierweisheit „Don’t Repeat Yourself“ zu erfüllen.
Um uns mit der Verwendung von For Schleifen vertraut zu machen, werden wir zunächst lernen, wie man sie auf Elemente vom Typ Liste anwendet.
Eine For Schleife verwenden, um mit der Anweisung "For" über eine Liste zu iterieren.
Wir erstellen eine for Schleife, um den Vornamen jedes Schülers in eine Variable „students“ vom Typ Liste zu holen, die aus den Vor- und Nachnamen der Schüler besteht. Dann fügen wir die Vornamen in die Liste „first_names“ ein.
Range zur Iteration verwenden :
Die Funktion range ermöglicht es uns, über eine Folge von Zahlen zu iterieren, die in einem bestimmten Intervall definiert sind. Im Folgenden zeigen wir den Wert jeder ganzen Zahl im Intervall [0, 5[ (0 ist eingeschlossen, 5 ist ausgeschlossen).
Standardmäßig nimmt die Funktion range 0 als Startwert, aber es ist auch möglich, den Startwert zu ändern.
Die Range-Funktion ermöglicht es dir auch, den Schritt zwischen jedem Wert im Intervall zu ändern:
Mit der Range-Funktion kannst du auch in die entgegengesetzte Richtung iterieren, indem du einen negativen Schritt nimmst:
Verschachtelte Iterationen verwenden
Eine verschachtelte Schleife oder (nested iteration) ist eine Schleife, die sich innerhalb einer anderen Schleife befindet. Die verschachtelte Schleife wird für jede Iteration der darüber liegenden Schleife ausgeführt.
Im folgenden Beispiel iterieren wir über jeden Vornamen in der Liste „first_names“, die vom Typ String ist. Dann iterieren wir mithilfe einer verschachtelten Schleife über jeden Buchstaben des Vornamens und zeigen den Buchstaben, seine Nummer und die Nummer des Vornamens, zu dem der Buchstabe gehört, an.
Anstatt einen Zähler von Hand zu initiieren, können wir mit range über die Anzahl der Elemente in unserer Iterable iterieren:
For Schleife: Verwende enumerate, um von einem automatischen Elementzähler zu profitieren.
Python verfügt über die Funktion enumerate(), die für jede Iteration ein Tupel zurückgibt, das den Index und den Wert des Iterierbaren bei diesem Index enthält.
Beachte, dass die Ausgabe der letzten drei Beispiele gleich ist, aber der Code der letzten beiden Lösungen optimierter ist.
Mit Zip über mehrere Iterierbare gleichzeitig iterieren
Es ist möglich, die eingebaute Funktion zip() zu verwenden, um über mehrere Iterable gleichzeitig zu iterieren. Für jede Iteration gibt zip ein Tupel zurück, das die Elemente zusammenfasst, die sich an derselben Position in jedem der Iterablen befinden.
Mithilfe der for-Schleife und zip können wir hier eine Liste „names“ erstellen, die aus dem Vor- und Nachnamen jedes Schülers besteht.
Eine For Schleife mit der Break-Anweisung verlassen
Es ist möglich, eine For Schleife zu verlassen, wenn eine bestimmte Bedingung auftritt, indem du „break“ verwendest. Solange die Bedingung nicht zutrifft, wird die For Schleife normal ausgeführt. Sobald die Bedingung zutrifft, verlässt das Programm die For Schleife und geht zur Anweisung nach der For Schleife über.
Ein logischer Ausdruck wird verwendet, um die Bedingung zu überprüfen. Zum Beispiel verlassen wir oben die Schleife, wenn der Typ eines Elements in der Liste nicht vom Typ string ist. Die For Schleife wurde verlassen, bevor das Element an Index 2 angezeigt wurde, das vom Typ int und nicht vom Typ string ist.
Springe zur nächsten Iteration, indem du die aktuelle Iteration mit der Anweisung continue überspringst.
Es ist möglich, die Iteration, in der du dich gerade befindest, zu überspringen, wenn eine bestimmte Bedingung auftritt, indem du die Python-Anweisung „continue“ verwendest. Wenn die Bedingung wahr ist, bleibt das Programm in der Schleife, springt aber direkt zur nächsten Iteration.
Oben sehen wir, dass die For Schleife ausgeführt wurde, außer bei Index Nr. 2, wo der Typ des Elements int ist.
List Comprehensions
Um das Schreiben von for Schleifen über Listen zu vereinfachen, kann man den Weg über die List Comprehensions gehen, die unter anderem die Deklaration oder Änderung von Variablen vom Typ Liste vereinfachen.
Es ist auch möglich, verschachtelte List Comprehensions zu verwenden, um mehrdimensionale Listen zu erstellen.
Der vorhergehende Code macht in einer Zeile, was der untenstehende Code in 6 Zeilen macht.
Wir haben gerade mehrere Anwendungen von for Schleifen auf Listen (und auch Strings) gesehen. Im weiteren Verlauf dieses Artikels werden wir uns ansehen, wie man über andere Objekttypen iterieren kann.
Iterieren in einem Wörterbuch
Mit der .items()-Methode ist es möglich, eine Anweisung für ein Wörterbuch zu wiederholen.
Python erlaubt auch die Verwendung von Dict Comprehensions:
Iterieren auf einem Numpy Array
Es ist möglich, über die verschiedenen Dimensionen eines Numpy Array mit for Schleifen zu iterieren:
Mithilfe der Funktion nditer und einer Schleife ist es auch möglich, direkt auf jedes Element in unserem Numpy-Array zuzugreifen.
Iterieren auf einem Pandas-Dataframe
Um über jede Zeile eines Pandas-Datenframes zu iterieren, kann iterrows verwendet werden.
Fazit
In diesem Artikel haben wir gesehen, dass wir mit for Schleifen wertvolle Zeit sparen und unseren Code optimieren können. Wir haben gesehen, wie man sie von einem grundlegenden bis zu einem fortgeschrittenen Niveau verwenden kann.
Um diese unverzichtbare Programmiersprache zu erlernen, solltest du sie üben und auf verschiedene Arten von Objekten anwenden. For-Schleifen werden in allen Bereichen der Datenverarbeitung verwendet.
Wenn du eine Karriere in einem dieser Berufe anstrebst, kannst du dir unsere verschiedenen Kurse ansehen.