Python Fonction range() : Float, List, Exemples de boucles For
⚡ Résumé intelligent
Python range() est une fonction intégrée qui génère une séquence immuable d'entiers à partir d'une valeur de départ jusqu'à une valeur d'arrêt, cette dernière n'étant pas incluse, en utilisant un pas optionnel pour contrôler l'incrément.

Qu'est-ce que le Python Varier?
Python range() est une fonction intégrée disponible avec Python à partir de Python (3.x), et il donne une séquence de nombres basée sur l'index de début et d'arrêt donné. Si l'index de début n'est pas donné, l'index est considéré comme 0, et il incrémentera la valeur de 1 jusqu'à l'index d'arrêt.
Par exemple, range(5) renverra les valeurs 0, 1, 2, 3, 4. Python La fonction range() est très utile et est principalement utilisée lorsqu'il faut itérer sur une chaîne de caractères. pour la boucle.
Syntaxe
La syntaxe de la fonction range() est présentée ci-dessous :
range(start, stop, step)
Paramètres
- Démarrer: (facultatif) L'index de départ est un entier, et s'il n'est pas indiqué, la valeur par défaut est 0.
- arrêter L'indice d'arrêt détermine la valeur à laquelle la fonction range doit s'arrêter. Il s'agit d'un argument obligatoire de la fonction range. La dernière valeur sera toujours inférieure de 1 à la valeur d'arrêt.
- étape: (facultatif) La valeur de pas est le nombre par lequel le prochain nombre de la plage doit être incrémenté ; par défaut, elle est de 1.
Valeur de retour
La valeur de retour est une séquence de nombres allant de l'index de début à l'index d'arrêt donné.
Python range() Fonction et historique
Python range() a été introduit à partir de Python version 3 ; avant cela, la fonction était xrange().
Les fonctions range() et xrange() sont toutes deux utilisées pour produire une séquence de nombres.
Voici les différences entre range() et xrange() :
| intervalle() | plagex() |
|---|---|
| Le range() donne la séquence de nombres et renvoie une liste de nombres. | La fonction xrange() donne un objet générateur qui doit être bouclé dans une boucle for pour obtenir les valeurs. |
| Le range() renvoie une liste. | xrange() renvoie un objet générateur. |
| La méthode range() utilise plus de mémoire car la liste renvoyée doit être stockée par rapport à xrange(). | Comme xrange() renvoie un objet générateur, il ne fournit pas de valeurs instantanément et doit être utilisé à l'intérieur d'une boucle for pour obtenir les valeurs. |
| L'utilisation de la mémoire est plus importante, ce qui ralentit l'exécution du code lors du traitement d'un grand ensemble de données. | L'exécution du code est plus rapide en utilisant xrange(). |
Utilisation de la plage()
Cet exemple montre comment imprimer les valeurs de 0 à 9 en utilisant range().
La valeur utilisée dans la plage est 10, donc la sortie est 0 1 2 3 4 5 6 7 8 9.
Puisque la valeur de départ n'est pas indiquée, elle est considérée comme étant 0 et la dernière valeur est donnée jusqu'à 9. La dernière valeur est toujours inférieure de 1 à la valeur donnée, c'est-à-dire stop-1.
for i in range(10): print(i, end =" ")
Sortie :
0 1 2 3 4 5 6 7 8 9
Utilisation du démarrage et de l'arrêt dans la plage()
Dans ce code, la valeur de départ est 3 et la valeur d'arrêt est 10. L'indice de départ étant 3, la séquence de nombres commence à 3 et se termine à 10. La dernière valeur de la séquence est inférieure de 1 à la valeur d'arrêt : 10 - 1 = 9.
for i in range(3, 10): print(i, end =" ")
Sortie :
3 4 5 6 7 8 9
Utiliser start, stop et step
La valeur de départ est 3, la séquence de nombres commencera donc à 3. La valeur d'arrêt est 10, la séquence de nombres s'arrêtera donc à (10-1), c'est-à-dire 9. Le pas est de 2, chaque valeur de la séquence sera donc incrémentée de 2. Si la valeur du pas n'est pas spécifiée, sa valeur par défaut est de 1.
for i in range(3, 10, 2): print(i, end =" ")
Sortie :
3 5 7 9
Jusqu'à présent, nous avons vu comment la fonction range() incrémente la valeur de la valeur d'arrêt donnée. Essayons maintenant un exemple pour obtenir la valeur décrémentée dans la plage donnée.
Incrémentation des valeurs de la plage par pas positif
Le paramètre `step` de la fonction `range()` permet d'incrémenter ou de décrémenter les valeurs. Par défaut, sa valeur est positive (1), ce qui garantit des valeurs toujours incrémentées.
La valeur du pas doit être positive si vous souhaitez obtenir des valeurs incrémentées en sortie.
for i in range(1, 30, 5): print(i, end =" ")
Sortie :
1 6 11 16 21 26
Reverse Plage : Décrémentation des valeurs par pas négatif
Le paramètre `step` avec une valeur négative dans la fonction `range()` permet d'obtenir des valeurs décrémentées. Dans l'exemple ci-dessous, la valeur de `step` est négative ; la valeur de sortie sera donc inférieure à la valeur de la plage spécifiée.
for i in range(15, 5, -1): print(i, end =" ")
Sortie :
15 14 13 12 11 10 9 8 7 6
La valeur de départ est 15, la valeur d'arrêt est 5 et le pas est un nombre négatif, soit -1. Avec ces entrées, la fonction range() décrémentera la valeur à partir de 15 jusqu'à atteindre la valeur d'arrêt, mais ici la différence est que la dernière valeur sera arrêt + 1.
Utilisation de nombres flottants dans Python intervalle()
Travaillons maintenant sur range() en utilisant des nombres à virgule flottante.
Exemple :
for i in range(10.5): print(i, end =" ")
Dans l'exemple ci-dessus, nous avons utilisé la valeur d'arrêt de 10.5.
La sortie est:
Traceback (most recent call last): File "python_range.py", line 1, in <module> for i in range(10.5): TypeError: 'float' object cannot be interpreted as an integer
Python génère une erreur car la fonction range() ne prend pas en charge les nombres à virgule flottante pour start, stop et step.
Utiliser la boucle for avec Python intervalle()
Dans cet exemple, nous utiliserons un tableau de nombres et verrons comment parcourir ce tableau à l'intérieur d'une boucle for en utilisant la fonction range().
Exemple :
arr_list = ['Mysql', 'Mongodb', 'PostgreSQL', 'Firebase'] for i in range(len(arr_list)): print(arr_list[i], end =" ")
Sortie :
MysqlMongodb PostgreSQL Firebase
Dans l'exemple ci-dessus, nous avons utilisé `len(arr_list)` comme valeur d'arrêt. La boucle `for` s'exécutera jusqu'à cette valeur d'arrêt, c'est-à-dire la longueur du tableau, qui est de 4, car `arr_list` contient quatre éléments. La valeur de départ est 0 et le pas est de 1 ; les valeurs commenceront donc à 0 et s'arrêteront à 3, soit la longueur du tableau moins 1, ce qui signifie que 4 - 1 = 3.
L'utilisation de Python range() sous forme de liste
Dans cet exemple, nous verrons comment utiliser la sortie de la plage sous forme de liste.
Exemple :
print(list(range(10)))
Sortie :
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Vous pouvez voir que la sortie est un format de liste. Il n'était pas nécessaire de boucler le range() et en utilisant la méthode list(), nous pouvions directement convertir la sortie du format plage au format liste.
Utiliser des caractères dans la plage Python()
Jusqu'à présent, nous avons utilisé des entiers dans python range(). Nous avons également vu que les nombres à virgule flottante ne sont pas pris en charge dans la plage Python. Essayons de voir le résultat de ce qui se passe lorsque nous utilisons des caractères.
Exemple :
for c in range ('z'):
print(c, end =" ")
Sortie :
Traceback (most recent call last):
File "python_range.py", line 1, in <module>
for c in range ('z'):
TypeError: 'str' object cannot be interpreted as an integer
Il renvoie une erreur indiquant qu'une chaîne ne peut pas être interprétée comme un entier.
Pour obtenir la liste des alphabets, vous pouvez personnaliser le code et obtenir le résultat souhaité, comme indiqué ci-dessous :
Exemple :
def get_alphabets(startletter, stopletter, step):
for c in range(ord(startletter.lower()), ord(stopletter.lower()), step):
yield chr(c)
print(list(get_alphabets("a", "h", 1)))
Sortie :
['a', 'b', 'c', 'd', 'e', 'f', 'g']
Comment accéder aux éléments de plage
Vous pouvez utiliser une boucle for pour obtenir les valeurs de la plage ou utiliser l'index pour accéder aux éléments de range().
Utiliser la boucle for
Exemple :
for i in range(6):
print(i)
Sortie :
0 1 2 3 4 5
Utilisation de l'index
L'index est utilisé avec range pour obtenir la valeur disponible à cette position. Si la valeur de la plage est 5, pour obtenir la valeur de départ, vous pouvez utiliser range(5)[0] et la valeur suivante range(5)[1] et ainsi de suite.
Exemple :
startvalue = range(5)[0]
print("The first element in range is = ", startvalue)
secondvalue = range(5)[1]
print("The second element in range is = ", secondvalue)
lastvalue = range(5)[-1]
print("The first element in range is = ", lastvalue)
Sortie :
The first element in range is = 0 The second element in range is = 1 The first element in range is = 4
Utiliser la liste()
Cette méthode imprimera tous les éléments de range(). En utilisant list(), les éléments de range() seront renvoyés au format liste.
Exemple :
print(list(range(10)))
Sortie :
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Il donne la sortie de liste pour la plage donnée.
Exemple : obtenez des nombres pairs en utilisant range()
La fonction `range()` renvoie la liste des nombres pairs compris dans l'intervalle spécifié. Ses paramètres sont : `start` vaut 2, `stop` vaut 20 et `step` vaut 2. Les valeurs sont donc incrémentées de 2, ce qui permet d'obtenir la liste des nombres pairs jusqu'à `stop - 2`.
Exemple :
for i in range(2, 20, 2): print(i, end =" ")
Sortie :
2 4 6 8 10 12 14 16 18
Fusionner les sorties two-range()
Dans cet exemple, nous allons concaténer deux fonctions range() à l'aide de la fonction chain() du module itertools.
Exemple :
from itertools import chain print("Merging two range into one") frange =chain(range(10), range(10, 20, 1)) for i in frange: print(i, end=" ")
Sortie :
Merging two range into one 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Utiliser range() avec NumPy
Le module NumPy possède une fonction `arange()` qui fonctionne et produit un résultat similaire à celui de `range()`. `arange()` prend les mêmes paramètres que `range()`.
syntaxe:
arange(start, stop, step)
Pour utiliser NumPy, suivez les étapes ci-dessous.
Étape 1: Importer le module NumPy
import numpy
Si, lors de l'exécution, une erreur indiquant que le module numpy est introuvable s'affiche, vous devez installer le module comme indiqué à l'étape 2.
Étape 2Installez NumPy.
pip install numpy
Étape 3: Exemple fonctionnel d'arange() utilisant NumPy
import numpy as np for i in np.arange(10): print(i, end =" ")
Sortie :
0 1 2 3 4 5 6 7 8 9
Nombres à virgule flottante utilisant NumPy arange()
Il n'est pas possible d'obtenir la séquence à virgule flottante en utilisant range(), mais c'est possible en utilisant NumPy arange().
Exemple :
La plage souhaitée est de 0.5 à 1.5. La valeur sera incrémentée de 0.2.
import numpy as np for i in np.arange(0.5, 1.5, 0.2): print(i, end =" ")
Sortie :
0.5 0.7 0.8999999999999999 1.0999999999999999 1.2999999999999998
Le résultat obtenu est un peu étrange : certains nombres à virgule flottante s'affichent avec 16 décimales. Cela est dû à la complexité du stockage des nombres décimaux à virgule flottante au format binaire. Vous pouvez arrondir les valeurs si nécessaire et limiter le nombre de décimales à votre convenance.
