Accéder au contenu principal

Tutoriel sur les boucles « for » en Python

Apprenez à implémenter des boucles « for » en Python pour itérer une séquence ou les lignes et colonnes d'un DataFrame pandas.
Actualisé 8 sept. 2025  · 5 min de lecture

Introduction

À l'instar d'autres langages de programmation, les boucles d'for s en Python sont légèrement différentes dans le sens où elles fonctionnent davantage comme un itérateur et moins comme un mot-clé d'for. En Python, il n'existe pas d'C, comme la syntaxe for(i=0; i<n; i++), mais vous pouvez utiliser for in n.

Ils peuvent être utilisés pour parcourir une séquence d'list, string, tuple, set, array, data frame.

À partir d'une liste d'éléments, une boucle for peut être utilisée pour parcourir chaque élément de cette liste et l'exécuter.

Pour parcourir une série d'éléments, les boucles « for » utilisent la fonction range. La fonction range renvoie une nouvelle liste contenant les nombres de la plage spécifiée en fonction de la longueur de la séquence.

Lorsque vous parcourez une séquence, vous pouvez également utiliser l'index des éléments de la séquence pour effectuer le parcours, mais il est essentiel de calculer d'abord la longueur de la liste, puis de parcourir la série dans la limite de cette longueur.

for Les boucles « for », « while » et « for-if » en Python sont indexées à partir de zéro.

Passons rapidement à la partie mise en œuvre.

Vous pouvez également visionner cette vidéo pour un tutoriel rapide.

Commencez à apprendre Python gratuitement

Intermediate Python

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

Mise en œuvre des boucles

Pour commencer, veuillez imprimer les nombres compris entre 1 et 10. for Étant donné que les boucles « for » et « while » en Python sont indexées à partir de zéro, il est nécessaire d'ajouter un à chaque itération ; sinon, les valeurs affichées iront de 0 à 9.

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

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

Veuillez parcourir une chaîne de caractères d'un mot Datacamp à l'aide d'une boucle for et n'imprimer que les lettres a.

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

# a
# a
# a

Supposons que vous souhaitiez définir une liste d'éléments et parcourir ces éléments un par un.

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

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

Cependant, que faire si vous souhaitez déterminer la longueur de la liste et ensuite l'itérer ? Vous utiliserez la fonction intégrée len, puis vous appliquerez range à la sortie de longueur.

Veuillez noter que l'range e attend toujours une valeur entière.

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

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

Excellent ! Cependant, pourquoi est-il nécessaire d'utiliser la fonction len alors que l'on peut directement utiliser for i in numbers? La réponse est simple. Si vous souhaitez modifier ou manipuler les indices de la séquence, par exemple en changeant l'élément d'une liste existante, vous devrez utiliser 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']

C'est intéressant, n'est-ce pas ? Vous avez pu modifier les éléments de la liste en fonction de la condition d'if.

Voyons maintenant comment imprimer les nombres impairs compris entre 1 et 20. Pour ce faire, vous devrez définir trois éléments dans la fonction d'range. Le point de départ, le point d'arrivée et la valeur d'incrémentation (ou pas) à laquelle la boucle incrémentera les nombres de 1 à 20.

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

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

Boucle for imbriquée

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 

Boucle « for » pour parcourir les lignes et les colonnes d'un 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 espèces
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

Ensuite, veuillez ajouter deux à chaque ligne des colonnes sepal_length,sepal_width, petal_length et 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 espèces
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

Itération sur une séquence avec une fonction Lambda

La fonction lambda de Python est rapide et performante par rapport à la boucle de base for. Il est largement utilisé, en particulier dans le cadre du traitement des DataFrame. Vous pouvez traiter vos données à l'aide de la fonction Lambda avec très peu de code. Cependant, il est parfois difficile de le comprendre.

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

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

print(y)

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

Maintenant, essayons cela avec une fonction lambda et une fonction map.

Map accepte une fonction, par exemple une fonction lambda et une séquence x, puis renvoie une nouvelle séquence.

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

print(y)

# <map object at 0x4063cc8>

Il renvoie une fonction génératrice et, pour obtenir la sortie de la génératrice, vous transmettez la sortie en tant qu'argument à list.

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

print(list(y))

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

Maintenant, prenons un peu de recul et examinons à la fois la méthode en boucle d'for s et la combinaison lambda/map(). Vous remarquerez que la différence entre les deux réside dans l'ajout de map, lambda, et la suppression de « for » et « in ». De plus, vous avez réussi à le coder en une seule ligne.

Conclusion

Félicitations pour avoir terminé ce tutoriel de base sur la boucle « for » en Python.

Les boucles « for » constituent la base de tout langage de programmation. Dans le cas de Python, leur utilisation n'est pas difficile à coder et leur fonctionnement est similaire à la construction d'une phrase en anglais.

Si vous souhaitez en savoir plus sur les boucles for en Python, nous vous invitons à suivre le cours Python Data Science Toolbox (Partie 2) de DataCamp.

N'hésitez pas à poser toute question relative à ce tutoriel dans la section commentaires ci-dessous.

Sujets

Cours Python

Cours

Introduction à Python

4 h
6.6M
Apprenez les bases de l’analyse de données avec Python en quatre heures et explorez ses principaux packages.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow
Apparenté

Didacticiel

Tutoriel sur les boucles Python

Tutoriel complet d'introduction aux boucles Python. Apprenez et pratiquez les boucles while et for, les boucles imbriquées, les mots-clés break et continue, la fonction range et bien plus encore.
Satyabrata Pal's photo

Satyabrata Pal

Didacticiel

Séquence de Fibonacci en Python : Apprenez et explorez les techniques de codage

Veuillez découvrir le fonctionnement de la suite de Fibonacci. Veuillez explorer ses propriétés mathématiques et ses applications concrètes.
Laiba Siddiqui's photo

Laiba Siddiqui

Didacticiel

Tutoriel sur la fonction range() en Python

Découvrez la fonction range() de Python et ses capacités à l'aide d'exemples.
Aditya Sharma's photo

Aditya Sharma

Didacticiel

Instructions IF, ELIF et ELSE en Python

Dans ce tutoriel, vous apprendrez exclusivement les instructions if else en Python.
Sejal Jaiswal's photo

Sejal Jaiswal

Didacticiel

Tutoriel sur les méthodes .append() et .extend() de Python

Apprenez à utiliser les méthodes .append() et .extend() pour ajouter des éléments à une liste.
DataCamp Team's photo

DataCamp Team

Didacticiel

Tutoriel Python : concaténation de chaînes de caractères

Découvrez différentes méthodes pour concaténer des chaînes de caractères en Python, avec des exemples illustrant chaque technique.
DataCamp Team's photo

DataCamp Team

Voir plusVoir plus