Direkt zum Inhalt

Loop-Schleifen in Python-Tutorial

Lerne, wie du For-Schleifen in Python umsetzt, um eine Sequenz oder die Zeilen und Spalten eines Pandas-DataFrame zu durchlaufen.
Aktualisierte 8. Sept. 2025  · 5 Min. Lesezeit

Einführung

for Wie bei anderen Programmiersprachen auch, sind Schleifen in Python ein bisschen anders, weil sie eher wie ein Iterator funktionieren und weniger wie ein Schlüsselwort for. In Python gibt's keine Syntax wie C ( for(i=0; i<n; i++) ), sondern man benutzt for in n.

Man kann sie verwenden, um eine Sequenz von list, string, tuple, set, array, data frame zu durchlaufen.

Wenn du eine Liste von Elementen hast, kannst du mit einer Schleife for jedes Element in dieser Liste durchgehen und ausführen.

Um eine Reihe von Elementen zu durchlaufen, benutzen For-Schleifen die Funktion range. Die Funktion range gibt eine neue Liste mit Zahlen aus dem angegebenen Bereich zurück, die auf der Länge der Sequenz basiert.

Wenn du eine Sequenz durchläufst, kannst du auch den Index der Elemente in der Sequenz zum Durchlaufen verwenden, aber der Schlüssel ist, zuerst die Länge der Liste zu berechnen und dann die Reihe innerhalb des Bereichs dieser Länge zu durchlaufen.

Die Schleifen for in Python fangen bei Null an.

Kommen wir schnell zum Teil der Umsetzung.

Du kannst dir auch dieses Video anschauen, um eine kurze Anleitung zu bekommen!

Fang kostenlos an, Python zu lernen

Intermediate Python

BeginnerSkill Level
4 Std.
1.3M learners
Level up your data science skills by creating visualizations using Matplotlib and manipulating DataFrames with pandas.
See DetailsRight Arrow

Schleifen implementieren

Zuerst drucken wir mal Zahlen von 1 bis 10 aus. Da die Schleifen for in Python bei Null beginnen, musst du bei jeder Iteration eins hinzufügen, sonst werden nur Werte von 0 bis 9 ausgegeben.

for i in range(10):
    print (i+1)

# 1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# 9
# 10

Lass uns mit einer for-Schleife durch eine Zeichenfolge eines Wortes gehen Datacamp und nur die Buchstaben ausgeben a.

for i in "Datacamp":
    if i == 'a':
        print (i)

# a
# a
# a

Angenommen, du möchtest eine Liste von Elementen definieren und diese Elemente nacheinander durchlaufen.

sequence = [1, 2, 8, 100, 200, 'datacamp', 'tutorial']
for i in sequence:
    print (i)

# 1
# 2
# 8
# 100
# 200
# datacamp
# tutorial

Aber was ist, wenn du die Länge der Liste herausfinden und dann durchlaufen willst? Du benutzt dafür die eingebaute Funktion len und wendest dann auf den Längenausgang range an.

Denk dran, dass die Funktion range immer einen ganzzahligen Wert erwartet.

sequence = [1, 2, 8, 100, 200, 'datacamp', 'tutorial']
for i in range(len(sequence)):
    print (sequence[i])

# 1
# 2
# 8
# 100
# 200
# datacamp
# tutorial

Super! Aber warum solltest du die Funktion len benutzen, wenn du direkt for i in numbers verwenden kannst? Die Antwort ist einfach. Wenn du die Indizes der Sequenz ändern oder bearbeiten möchtest, z. B. das Element einer bestehenden Liste ändern, dann brauchst du range(len(sequence)).

sequence = [1, 2, 8, 100, 200, 'datacamp', 'tutorial']
for i in range(len(sequence)):
    element = sequence[i]
    if type(element) == int:
        sequence[i] = element + 4

print(sequence)

# [5, 6, 12, 104, 204, 'datacamp', 'tutorial']

Cool, oder? Du konntest die Elemente der Liste anhand der Bedingung if ändern.

Schauen wir uns jetzt an, wie du ungerade Zahlen zwischen 1 und 20 ausdrucken kannst. Dazu musst du in der Funktion range drei Sachen festlegen. Der Startpunkt, der Endpunkt und der Inkrementwert (oder die Schritte), mit denen die Schleife die Zahlen von 1 bis 20 durchläuft.

for i in range(1,20,2):
    print (i)

# 1
# 3
# 5
# 7
# 9
# 11
# 13
# 15
# 17
# 19

Verschachtelte For-Schleife

for i in range(11):
    for j in range(i):
        print (i, end=' ')
    print()

# 1 
# 2 2 
# 3 3 3 
# 4 4 4 4 
# 5 5 5 5 5 
# 6 6 6 6 6 6 
# 7 7 7 7 7 7 7 
# 8 8 8 8 8 8 8 8 
# 9 9 9 9 9 9 9 9 9 
# 10 10 10 10 10 10 10 10 10 10 

For-Schleife zum Durchlaufen der Zeilen und Spalten eines DataFrame

import pandas as pd

iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')

iris.head()
  sepal_length sepal_width petal_length petal_width Arten
0 5.1 3,5 1.4 0,2 setosa
1 4,9 3,0 1.4 0,2 setosa
2 4,7 3.2 1.3 0,2 setosa
3 4,6 3.1 1,5 0,2 setosa
4 5,0 3,6 1.4 0,2 setosa
len(iris)

# 150
for i in range(len(iris)):
    Class = iris.iloc[i,4]
    if Class == 'versicolor' and i < 70:
        print (Class)

# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor
# versicolor

Als Nächstes addieren wir zwei zu jeder Zeile der Spalten sepal_length,sepal_width, petal_length und petal_width.

columns = ['sepal_length','sepal_width','petal_length','petal_width']

for indices, row in iris.iterrows():
    for column in columns:
        iris.at[indices,column] = row[column] + 2

iris.head()
  sepal_length sepal_width petal_length petal_width Arten
0 7.1 5,5 3.4 2.2 setosa
1 6,9 5,0 3.4 2.2 setosa
2 6,7 5.2 3.3 2.2 setosa
3 6,6 5.1 3,5 2.2 setosa
4 7,0 5,6 3.4 2.2 setosa

Durchlaufen einer Sequenz mit einer Lambda-Funktion

Die Lambda-Funktion von Python ist im Vergleich zur einfachen Schleife for schnell und leistungsstark. Es wird oft benutzt, vor allem bei der Arbeit mit DataFrame. Du kannst deine Daten mit der Funktion Lambda und nur wenig Code bearbeiten. Manchmal ist es aber echt schwer, das zu verstehen.

x = [20, 30, 40, 50, 60]
y = []

for v in x :
    y += [v * 5]

print(y)

# [100, 150, 200, 250, 300]

Probieren wir das jetzt mal mit einer Lambda- und einer Map-Funktion aus.

Map nimmt eine Funktion, zum Beispiel eine Lambda-Funktion und eine Sequenz x, und gibt dann eine neue Sequenz zurück.

x = [20, 30, 40, 50, 60]
y = map(lambda x: x * 5,x)

print(y)

# <map object at 0x4063cc8>

Es gibt eine Generatorfunktion zurück, und um die Ausgabe vom Generator zu kriegen, gibst du die Ausgabe als Argument an list weiter.

x = [20, 30, 40, 50, 60]
y = map(lambda x: x * 5,x)

print(list(y))

# [100, 150, 200, 250, 300]

Jetzt lass uns mal einen Schritt zurücktreten und uns sowohl die for-Schleife als auch die Kombination aus Lambda und map() anschauen. Du wirst sehen, dass der Unterschied zwischen den beiden darin besteht, dass map und lambda hinzugefügt und „for“ und „in“ weggelassen wurden. Und du konntest das auch noch in einer einzigen Zeile programmieren.

Fazit

Herzlichen Glückwunsch, dass du dieses grundlegende Tutorial zur Python-For-Schleife abgeschlossen hast.

For-Schleifen sind das A und O jeder Programmiersprache, und in Python ist es echt einfach, For-Schleifen zu programmieren. Im Grunde ist es so ähnlich wie einen englischen Satz zu schreiben.

Wenn du mehr über for-Schleifen in Python lernen willst, schau dir den Kurs Python Data Science Toolbox (Teil 2) von DataCamp an.

Wenn du Fragen zu diesem Tutorial hast, kannst du sie gerne unten in den Kommentaren stellen.

Themen

Python-Kurse

Kurs

Einführung in Python

4 Std.
6.6M
Lerne in nur vier Stunden die Grundlagen der Datenanalyse mit Python und entdecke beliebte Python-Pakete.
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow
Verwandt

Lernprogramm

Python-Schleifen-Tutorial

Ein umfassendes Einführungs-Tutorial zu Python-Schleifen. Lerne und übe while- und for-Schleifen, verschachtelte Schleifen, die Schlüsselwörter break und continue, die Range-Funktion und vieles mehr!
Satyabrata Pal's photo

Satyabrata Pal

Lernprogramm

Python-Tutorial zum Verknüpfen von Zeichenfolgen

Lerne verschiedene Methoden zum Verknüpfen von Zeichenfolgen in Python kennen, mit Beispielen, die jede Technik zeigen.
DataCamp Team's photo

DataCamp Team

Lernprogramm

Fibonacci-Folge in Python: Lerne und entdecke Programmiertechniken

Finde raus, wie die Fibonacci-Folge funktioniert. Schau dir die mathematischen Eigenschaften und die Anwendungen in der echten Welt an.
Laiba Siddiqui's photo

Laiba Siddiqui

Lernprogramm

if…elif…else in Python Tutorial

Lerne, wie du in Python if…elif…else-Anweisungen erstellst.
DataCamp Team's photo

DataCamp Team

Lernprogramm

Python range()-Funktion Tutorial

Lerne anhand von Beispielen die Python-Funktion range() und ihre Möglichkeiten kennen.
Aditya Sharma's photo

Aditya Sharma

Lernprogramm

Python-Anweisungen IF, ELIF und ELSE

In diesem Tutorial lernst du ausschließlich Python if else-Anweisungen kennen.
Sejal Jaiswal's photo

Sejal Jaiswal

Mehr anzeigenMehr anzeigen