Le type range () renvoie une séquence immuable de nombres entre l'entier de début donné et l'entier d'arrêt.
range()
Le constructeur a deux formes de définition:
range (stop) range (start, stop (, step))
Paramètres range ()
range()
prend principalement trois arguments ayant le même usage dans les deux définitions:
- start - entier à partir duquel la séquence d'entiers doit être renvoyée
- stop - entier avant lequel la séquence d'entiers doit être renvoyée.
La plage d'entiers se termine àstop - 1
. - step (facultatif) - valeur entière qui détermine l'incrément entre chaque entier de la séquence
Valeur renvoyée par range ()
range()
renvoie un objet séquence immuable de nombres en fonction des définitions utilisées:
plage (arrêt)
- Renvoie une séquence de nombres commençant de
0
àstop - 1
- Renvoie une séquence vide si
stop
estnegative
ou0
.
range (start, stop (, step))
La valeur de retour est calculée par la formule suivante avec les contraintes données:
r (n) = start + step * n (pour les échelons positifs et négatifs) où, n> = 0 et r (n) = 0 et r (n)> stop (pour les échelons négatifs)
- (Si non
step
) Step prend la valeur par défaut 1. Renvoie une séquence de nombres commençantstart
et se terminant parstop - 1
. - (si
step
vaut zéro) Déclenche uneValueError
exception - (si
step
est différent de zéro) Vérifie si la contrainte de valeur est satisfaite et renvoie une séquence selon la formule
Si elle ne répond pas à la contrainte de valeur, la séquence vide est renvoyée.
Exemple 1: Comment fonctionne la plage en Python?
# empty range print(list(range(0))) # using range(stop) print(list(range(10))) # using range(start, stop) print(list(range(1, 10)))
Production
() (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (1, 2, 3, 4, 5, 6, 7, 8, 9)
Remarque: Nous avons converti la plage en une liste Python, car range()
renvoie un objet de type générateur qui imprime uniquement la sortie à la demande.
Cependant, l'objet range retourné par le constructeur range est également accessible par son index. Il prend en charge les indices positifs et négatifs.
Vous pouvez accéder à l'objet range par index comme:
rangeObject (index)
Exemple 2: Créez une liste de nombres pairs entre les nombres donnés en utilisant range ()
start = 2 stop = 14 step = 2 print(list(range(start, stop, step)))
Production
(2, 4, 6, 8, 10, 12)
Exemple 3: Comment range () fonctionne avec un pas négatif?
start = 2 stop = -14 step = -2 print(list(range(start, stop, step))) # value constraint not met print(list(range(start, 14, step)))
Production
(2, 0, -2, -4, -6, -8, -10, -12) ()