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)

Liens pertinents