Thanks to visit codestin.com
Credit goes to www.datacamp.com

Accéder au contenu principal

Tutoriel sur la fonction range() en Python

Découvrez la fonction range() de Python et ses capacités à l'aide d'exemples.
Actualisé 29 août 2025  · 7 min de lecture

La fonction range() est une fonction très populaire et largement utilisée en Python, en particulier lorsque vous travaillez avec des boucles for et parfois également avec des boucles while. Il est important de connaître et de maîtriser la fonction range(), car cela vous ouvrira de nombreuses possibilités : range() est utilisée dans divers contextes, du contrôle du déroulement d'un programme à la boucle sur des ensembles de données que vous utilisez pour l'analyse de données. 

Si vous débutez avec Python et souhaitez approfondir vos connaissances, nous vous recommandons de suivre le cours Introduction à la science des données avec Python proposé par DataCamp.

Quelle est la fonction range() en Python ?

La fonction range() renvoie une séquence de nombres et est immuable, ce qui signifie que sa valeur est fixe. La fonction range() accepte un ou trois arguments au maximum, à savoir start, une valeur stop et une taille step.

range() a été introduit dans Python3. Dans Python2, une fonction similaire, xrange(), était utilisée, mais son comportement était quelque peu différent. Entre autres, xrange() renvoie un objet générateur et consomme moins de mémoire, tandis que range() renvoie une liste ou une séquence de nombres.

L'utilité de la fonction range() réside en partie dans le fait qu'elle ne stocke que les valeurs start, stop et step, ce qui lui permet de consommer moins de mémoire qu'une liste ou un tuple.

Syntaxe de la fonction range() en Python

La fonction range() peut être représentée de trois manières différentes, ou vous pouvez les considérer comme trois paramètres range():

  • range(stop_value): Par défaut, le point de départ est ici zéro.
  • range(start_value, stop_value): Ceci génère la séquence en fonction des valeurs de début et de fin.
  • range(start_value, stop_value, step_size): Il génère la séquence en augmentant la valeur de départ à l'aide de la taille du pas jusqu'à ce qu'elle atteigne la valeur d'arrêt.
Exemple d'utilisation de la fonction range() en Python
Fonction range() en Python. Image par l'auteur. 

Nous pouvons également vérifier le type de la fonction range() en encapsulant range() dans type().

my_range = range(100)
print(type(my_range))

# Expected output: <class 'range'>

Exemples d'utilisation de la fonction range() en Python

Examinons maintenant quelques exemples afin que vous puissiez vous exercer et maîtriser l'utilisation de range().

Utilisation de la fonction range() de Python pour afficher une séquence de nombres

Commençons par un exemple simple consistant à imprimer une séquence de dix nombres, qui couvrira votre premier paramètre range(). Pour ce faire, il vous suffira de transmettre la valeur stop. Étant donné que Python fonctionne avec un indexage basé sur zéro, la séquence commencera par zéro et s'arrêtera au nombre spécifié, c'est-à-dire n-1, où n est le nombre spécifié dans la fonction range().

my_range = range(10)

for num in my_range:
	print(num)

# Expected output:
# 0
# 1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# 9

Comme prévu, la cellule ci-dessus renvoie une séquence de nombres commençant par 0 et se terminant par 9.

Utilisation de range() avec list() de Python

Vous pouvez également utiliser la fonction range comme argument d'une liste, ce qui donnerait une liste de nombres dont la longueur est égale à la valeur d'arrêt, comme illustré ci-dessous :

my_range = list(range(10))
print(my_range)

range_length = len(my_range)
print(range_length)

# Expected output:
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 10

Utilisation des fonctions start, stop et step dans Python range()

Ensuite, examinons une autre méthode pour utiliser la fonction range(). Veuillez indiquer ici les valeurs start et stop.

my_range = range(5, 10)
print(my_range)

# Expected output: range(5, 10)
for num in range(5,10):
    print(num)

# Expected output:
# 5
# 6
# 7
# 8
# 9

De même, vous pouvez utiliser la fonction range() pour imprimer également les valeurs entières négatives.

for num in range(-5,0):
    print(num)

# Expected output:
# -5
# -4
# -3
# -2
# -1

Ajoutons maintenant le troisième paramètre, c'est-à-dire la taille step, à la fonction range(), et observons comment cela affecte le résultat. Veuillez définir le point start à 50, la valeur stop à 1000 et la taille step à 100. La fonction range ci-dessous devrait générer une séquence commençant à 50 et augmentant par incréments de 100.

my_range = range(50,1000,100)
print(my_range)

# Expected output: range(50, 1000, 100)

Vous remarquerez qu'il affichera tous les nombres pairs.

for num in range(50,1000,100):
    print(num)

# Expected output:
# 50
# 150
# 250
# 350
# 450
# 550
# 650
# 750
# 850
# 950

Remarque sur la fonction range() et les valeurs flottantes en Python

Il est important de noter que la fonction range() ne peut fonctionner que lorsque la valeur spécifiée est un nombre entier ou un nombre entier. Il ne prend pas en charge les types de données flottants et les types de données chaînes. Cependant, vous pouvez lui transmettre à la fois des valeurs entières positives et négatives. Observons ce qui se produit lorsque vous essayez de transmettre des valeurs flottantes.

for num in range(0.2,2.4):
    print(num)

# Expected output:
# TypeError: 'float' object cannot be interpreted as an integer

Vous vous êtes certainement posé la question au moins une fois en essayant d'inverser une liste chaînée de valeurs entières en langage C. Cependant, en Python, cela peut être réalisé à l'aide de la fonction range() en échangeant simplement les paramètres start et stop et en ajoutant une valeur négative à la taille du pas. N'est-ce pas simple ? Découvrons-le.

for num in range(100,10,-10):
    print(num)

# Expected output:
# 100
# 90
# 80
# 70
# 60
# 50
# 40
# 30
# 20

Utilisation de range() pour calculer la somme d'une liste

Supposons que vous disposiez d'une liste de valeurs entières et que vous souhaitiez calculer la somme de cette liste en utilisant la fonction range(). Vérifions si cela est réalisable.

Tout d'abord, vous définirez la liste composée de valeurs entières. Veuillez initialiser un compteur dans lequel vous enregistrerez la valeur à chaque itération de la liste et ajouterez également la valeur actuelle de la liste à l'ancienne valeur du compteur.

Pour accéder aux éléments de la liste, veuillez appliquer la fonction range() ion à length de la liste, puis accéder aux éléments de la liste en utilisant l'i  d'indexation, qui commence à zéro et s'arrête à la longueur de la liste.

list1 = [2,4,6,8,10,12,14,16,18,20]
count = 0

for i in range(len(list1)):
    count = count + list1[i]
    print(count)
print('sum of the list:', count)

# Expected output:
# 2
# 6
# 12
# 20
# 30
# 42
# 56
# 72
# 90
# 110
# sum of the list: 110

Utilisation de range() avec itertools pour concaténer une liste

Vous pouvez également concaténer deux ou plusieurs fonctions range() s à l'aide de la classe du package itertools appelée chain. Et pas seulement la fonction range, vous pouvez également concaténer des listes, des tuples, etc. Veuillez noter que la méthode chain renvoie un objet générateur. Pour accéder aux éléments de cet objet générateur, vous pouvez soit utiliser une boucle for, soit utiliser list et lui passer l'objet générateur en argument.

from itertools import chain

a1 = range(10,0,-2)
a2 = range(30,20,-2)
a3 = range(50,40,-2)

final = chain(a1,a2,a3)

print(final) #generator object

# Expected output: <itertools.chain object at 0xae6330>
print(list(final))

# Expected output:
# [10, 8, 6, 4, 2, 30, 28, 26, 24, 22, 50, 48, 46, 44, 42]

Python range() et comparaisons d'égalité

Vous pouvez appliquer des comparaisons d'égalité entre les fonctions range(). Si deux fonctions range()  représentent la même séquence de valeurs, elles sont alors considérées comme égales. Cela dit, deux fonctions range() équivalentes n'ont pas besoin d'avoir les mêmes attributs start, stop et step. Comprenons cela à l'aide d'un exemple.

# range(0, 10, 3) = [0, 3, 6, 9]
# range(0, 11, 3) = [0, 3, 6, 9]

print(range(0, 10, 3) == range(0, 11, 3))

# Expected output: True
# range(0, 10, 3) = [0, 3, 6, 9]
# range(0, 11, 2) = [0, 2, 4, 6, 8, 10]

print(range(0, 10, 3) == range(0, 11, 2))

# Expected output: False

Comme vous pouvez le constater à partir des résultats ci-dessus, même si les paramètres de la fonction range() ion sont différents, ils sont toujours considérés comme égaux, car la séquence des deux fonctions est identique. Dans le deuxième exemple, la modification de la taille step rend la comparaison False.

Conclusion

Félicitations pour avoir terminé le tutoriel. Il serait peut-être utile d'explorer la fonction range() et de trouver un moyen de la personnaliser afin qu'elle accepte d'autres types de données que les entiers.

Si, après avoir lu cet article, vous estimez qu'il pourrait être utile de vous exercer à utiliser les fonctions Python, nous vous invitons à consulter nos tutoriels Python Fonctions et Guide Python pour débutants : boucles. Pour un parcours d'apprentissage structuré, nous vous invitons à consulter notre cours DataCamp intitulé Writing Efficient Python Code (Écrire du code Python efficace), qui non seulement traite en détail de la fonction range(), mais aborde également des concepts de codage plus généraux afin de vous aider à écrire du code vraiment efficace sans trop de surcharge. 

Sujets

En savoir plus sur Python

Cours

Boîte à outils Python

4 h
307K
Renforcez vos compétences en science des données avec Python : maîtrisez les itérateurs et les compréhensions de listes.
Afficher les détailsCodestin Search App
Commencer le cours
Voir plusCodestin Search App
Apparenté

Didacticiel

Méthode index() de Python expliquée à l'aide d'exemples

Découvrez comment utiliser la fonction index() de Python pour trouver la position d'éléments dans des listes.
Sejal Jaiswal's photo

Sejal Jaiswal

Didacticiel

Comment diviser des listes en Python : Exemples de base et méthodes avancées

Apprenez à diviser des listes Python à l'aide de techniques telles que le découpage, les compréhensions de listes et itertools. Veuillez découvrir quand utiliser chaque méthode pour une gestion optimale des données.
Allan Ouko's photo

Allan Ouko

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

if…elif…else dans le tutoriel Python

Découvrez comment créer des instructions if…elif…else en Python.
DataCamp Team's photo

DataCamp Team

Didacticiel

Données JSON Python : Un guide illustré d'exemples

Apprenez à utiliser JSON en Python, notamment la sérialisation, la désérialisation, le formatage, l'optimisation des performances, la gestion des API, ainsi que les limites et les alternatives de JSON.
Moez Ali's photo

Moez Ali

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

Voir plusVoir plus