On peut créer une liste à la main, mais il arrive que cela soit un peu long...

Si vous souhaitez créer une liste de 1000 nombres, vous risquez d'y passer la journée.

Heureusement, les développeurs de Python ont pensé à tout !

Avec la fonction range, vous pouvez créer une liste de nombre en un claquement de doigts (ou plutôt en 5 frappes sur votre clavier).

Par défaut, la fonction range va créer une liste en partant de 0 et de la longueur indiquée.

Par exemple pour créer une liste de 5 nombres :

>>> range(5)
range(0, 5)

Hmmm ok mais ce n'est pas une liste là ? C'est quoi ce range(0, 5) ?

Effectivement, depuis les dernières versions de Python, la fonction range retourne un objet range.

Mais pas de panique, on peut le transformer en liste facilement grâce au constructeur list :

>>> list(range(5))
[0, 1, 2, 3, 4]

Vous remarquez que la liste s'arrête à 4. En effet, comme on commence à compter à 0, la liste contient bien 5 nombres !

La fonction range permet de créer des listes rapidement avec beaucoup de flexibilité. Vous pouvez ainsi spécifier un nombre de départ, un nombre de fin et même un pas.

Quelques exemples seront plus parlants :

>>> list(range(4, 10))
[4, 5, 6, 7, 8, 9]

>>> list(range(-12, -3))
[-12, -11, -10, -9, -8, -7, -6, -5, -4]

>>> list(range(2, 20, 3))
[2, 5, 8, 11, 14, 17]

>>> list(range(500, 1500, 250))
[500, 750, 1000, 1250]