La fonction range
⚓︎
La fonction range
est très utilisée dans les boucles, elle renvoie un à un, des termes d'une suite arithmétique.
On peut découvrir ici la fonction native range
sans encore faire de boucle.
Pour cela, on va convertir le résultat de range
en tuple
.
Point technique
Dans la version 2 de Python,
range
fabriquait une liste. Ce n'est plus le cas.
En effet, très souvent, on souhaite utiliser des éléments, les uns après les autres, sans forcément avoir besoin de conserver la liste. On souhaite avoir chacun son tour des éléments.
Dans la version 3 de Python, range
renvoie, un à un, un élément d'une suite arithmétique.
Pour construire le résultat global, ici, on va les assembler dans un tuple
. Uniquement dans un but pédagogique, pour comprendre le fonctionnement de range
.
Plusieurs paramètres possibles⚓︎
range
à un paramètre⚓︎
range(n)
renvoie les entiers de inclus à exclu.
>>> tuple(range(5))
(0, 1, 2, 3, 4)
>>>
range
à deux paramètres⚓︎
range(n, m)
renvoie les entiers de inclus à exclu.
>>> tuple(range(5, 10))
(5, 6, 7, 8, 9)
>>>
Rappel, pour un
tuple
à un élément, il y a une virgule après l'élément. Cela permet de différencier (5) == 5
qui est un entier, de (5,)
qui est un tuple à un élément. Techniquement, pour tout tuple
non vide, on peut l'écrire avec une virgule finale superfétatoire comme (5, 6, 7) = (5, 6, 7,)
.
>>> tuple(range(5, 6))
(5,)
>>>
Si
>>> tuple(range(8, 8))
()
>>>
range
à trois paramètres⚓︎
range(n, m, p)
renvoie les entiers de inclus à exclu, par pas de .
>>> tuple(range(5, 10, 2))
(5, 7, 9)
>>> tuple(range(10, 5, -1))
(10, 9, 8, 7, 6)
>>>