Fonction intégrée Python range()
À partir de la documentation Python 3
Plutôt que d'être une fonction, range est en fait un type de séquence immuable, comme documenté dans Ranges and Sequence Types — list, tuple, range.
Introduction
Le type range est couramment utilisé dans les boucles for pour boucler un nombre spécifique de fois. range prend trois paramètres : start, stop et step. Chaque paramètre doit être un entier (soit le int intégré, soit tout objet implémentant la méthode spéciale index()).
S’il n’y a qu’un seul paramètre, il représente le paramètre stop. Si le paramètre step est omis, il prendra par défaut la valeur 1. Si le paramètre start est omis, il prendra par défaut la valeur 0.
Les plages supportent les indices négatifs, mais ceux-ci sont interprétés comme un indexage à partir de la fin de la séquence déterminée par les indices positifs.
***L’avantage du type range par rapport à une list ou un tuple ordinaire est qu’un objet range occupera toujours la même (petite) quantité de mémoire, quelle que soit la taille de la plage qu’il représente.
Paramètres d’entrée
Les plages implémentent toutes les opérations de séquence courantes, à l’exception de la concaténation et de la répétition (en raison du fait que les objets range ne peuvent représenter que des séquences qui suivent un modèle strict, et que la répétition et la concaténation violeraient généralement ce modèle).
start :
- La valeur du paramètre de début
- Si non fourni, le paramètre prendra la valeur par défaut 0
- La valeur du paramètre est inclusive
stop
- La valeur du paramètre d’arrêt
- Le seul paramètre qui est requis
- La valeur du paramètre est exclusive
step
- La valeur du paramètre de pas
- Si non fourni, le paramètre prendra la valeur par défaut 1
Exemples
Plage avec seulement le paramètre stop spécifié
for i in range(5):
print(i)
0
1
2
3
4
Plage avec les paramètres start et stop
for i in range(1, 8):
print(i)
1
2
3
4
5
6
7
Plage avec tous les paramètres spécifiés
for i in range(0, 30, 5):
print(i)
0
5
10
15
20
25
Plage avec tous les paramètres, où le paramètre stop n’est pas divisible par le paramètre step
for i in range(0, 10, 3):
print(i)
0
3
6
9
Plage avec tous les paramètres, où les paramètres stop et step sont négatifs
for i in range(0, -6, -1):
print(i)
0
-1
-2
-3
-4
-5
Deux exemples où le paramètre stop est défini à 0
for i in range(0):
print(i)
(no output)
for i in range(1, 0):
print(i)
(no output)