Python range() Fonction :Float, List, For loop Exemples
Qu'est-ce que la plage Python ?
Python range() est une fonction intégrée disponible avec Python à partir de Python(3.x), et elle donne une séquence de nombres basée sur l'index de début et de fin donné. Dans le cas où l'index de départ 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) vous affichera les valeurs 0,1,2,3,4. Python range() est une commande très utile et principalement utilisée lorsque vous devez itérer en utilisant la boucle for.
Dans ce didacticiel, vous apprendrez :
- Qu'est-ce que la plage Python ?
- Syntaxe
- Python range() Fonction et historique
- Utilisation de la plage()
- Utiliser start et stop dans range()
- Utiliser le démarrage, l'arrêt et l'étape
- Incrémentation des valeurs dans la plage à l'aide d'un pas positif.
- Reverse Range :Décrémentation des valeurs par pas négatif.
- Utiliser des nombres flottants dans Python range()
- Utilisation de la boucle for avec Python range()
- Utiliser Python range() comme liste
- Utiliser des caractères dans python range()
- Comment accéder aux éléments de plage
- Exemple :Obtenir des nombres pairs à l'aide de range()
- Fusionner les sorties à deux plages()
- Utiliser range() avec NumPy
Syntaxe
range(start, stop, step)
Paramètres
- démarrer : (optionnel) L'index de début est un entier, et s'il n'est pas donné, la valeur par défaut est 0.
- arrêter : L'indice d'arrêt décide de la valeur à laquelle la fonction de plage doit s'arrêter. Il s'agit d'une entrée obligatoire pour la fonction de plage. 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 nombre suivant doit être incrémenté, par défaut, c'est 1.
Valeur de retour :
La valeur de retour est une séquence de nombres à partir de l'index de début à fin donné.
Python range() Fonction et historique
Python range() a été introduit à partir de la version 3 de python, avant que xrange() ne soit la fonction.
Range et xrange() sont utilisés pour produire une séquence de nombres.
Voici la différence entre range et xrange() :
plage() | xrange() |
---|---|
La plage() 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. |
La plage() 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 donne pas de valeurs instantanément et doit être utilisé dans la boucle for pour obtenir les valeurs. |
L'utilisation de la mémoire est plus importante, d'où la lenteur de l'exécution du code lorsque vous travaillez sur un énorme ensemble de données. | L'exécution du code est plus rapide avec xrange(). |
Utiliser la plage()
Cet exemple montre comment imprimer les valeurs de 0 à 9 à l'aide de range().
La valeur utilisée dans la plage est 10, donc la sortie est 0 1 2 3 4 5 6 7 8 9
Comme le départ n'est pas donné, le départ est considéré comme 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 de start et stop in range()
Dans le code, la valeur de départ est 3 et la valeur d'arrêt est 10. Ici, l'indice de départ est 3, donc la séquence de nombres commencera de 3 jusqu'à la valeur d'arrêt. La dernière valeur de la séquence sera 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 le démarrage, l'arrêt et l'étape
La valeur de départ est 3, donc la séquence de nombres commencera à 3. La valeur d'arrêt est 10, donc la séquence de nombres s'arrêtera à (10-1), c'est-à-dire 9. Le pas est 2, donc chaque valeur de la séquence sera être incrémenté de 2. Si la valeur de l'étape n'est pas donnée, la valeur de l'étape par défaut est 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() donne la valeur incrémentée pour 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émenter les valeurs dans la plage en utilisant un pas positif.
Le paramètre step dans range() peut être utilisé pour incrémenter/décrémenter les valeurs. Par défaut, c'est une valeur positive 1. Il donnera donc toujours des valeurs incrémentées.
La valeur de pas doit être positive au cas où vous voudriez 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 Range :Décrémentation des valeurs par pas négatif.
Le paramètre step avec une valeur négative dans range() peut être utilisé pour obtenir des valeurs décrémentées. Dans l'exemple ci-dessous, la valeur de pas est négative, de sorte que la sortie sera décrémentée à partir de la valeur de plage donné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 la valeur de pas est un nombre négatif, c'est-à-dire -1. Avec les entrées ci-dessus, la fonction range() décrémentera la valeur à partir de 15 jusqu'à ce qu'elle atteigne la valeur d'arrêt, mais ici la différence est que la dernière valeur sera stop + 1.
Utiliser des nombres flottants dans Python range()
Travaillons maintenant sur la plage() 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 renvoie une erreur car la fonction range() ne prend pas en charge les nombres à virgule flottante pour le début, l'arrêt et l'étape.
Utilisation de la boucle for avec Python range()
Dans cet exemple, nous utiliserons un tableau de nombres et, voyons comment utiliser l'itération du tableau à l'intérieur de la boucle for en utilisant 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 itérera jusqu'à la valeur d'arrêt, c'est-à-dire la longueur du tableau et ce sera 4, car nous avons quatre éléments dans la arr_list. La valeur de départ sera 0 et le pas sera 1. Ainsi, les valeurs commenceront à partir de 0 et s'arrêteront à 3, c'est-à-dire la longueur du tableau -1 signifiant 4 -1 =3.
Utiliser Python range() comme 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 la plage () et en utilisant la méthode list (), nous pouvions directement convertir la sortie de la plage au format de 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 génère 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 la sortie souhaitée, 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().
Utilisation de la boucle for
Exemple :
for i in range(6): print(i)
Sortie :
0 1 2 3 4 5
Utiliser l'index
L'index est utilisé avec la plage 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 :
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)
Utiliser la liste()
Cette méthode imprimera tous les éléments de la plage(). En utilisant list(), il renverra les éléments de range() sous forme de liste.
Exemple :
print(list(range(10)))
Sortie :
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Il donne la sortie de la liste pour la plage donnée.
Exemple :Obtenir des nombres pairs à l'aide de range()
L'utilisation de range() obtiendra la liste des nombres pairs dans la plage donnée en entrée. Les paramètres de range() sont, start est 2, stop est 20 et step est 2, donc les valeurs seront incrémentées de 2 et donneront 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 à deux plages()
Dans cet exemple, concatènera 2 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 a une fonction arange() qui fonctionne et donne une sortie similaire à range(). Le arrange() prend les mêmes paramètres que range().
Syntaxe :
arange(start, stop, step)
Pour travailler avec NumPy, suivez les étapes ci-dessous.
Étape 1 :Importer le module NumPy
import numpy
Au cas où lors de l'exécution, une erreur indiquant que le module numpy est introuvable, vous devez installer le module comme indiqué à l'étape 2.
Étape 2 :Installer NumPy
pip install numpy
Étape 3 :Exemple de travail de 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 que nous voulons 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
La sortie que nous obtenons est un peu bizarre, certains des nombres flottants sont affichés avec 16 décimales. Cela se produit en raison de la complexité du stockage des nombres flottants décimaux au format binaire. Vous pouvez également arrondir les valeurs si nécessaire et les limiter aux décimales dont vous avez besoin.
Résumé :
- Python range() est une fonction intégrée disponible avec Python à partir de Python(3.x), et elle donne une séquence de nombres basée sur l'index de début et de fin donné. Dans le cas où l'index de départ n'est pas donné, l'index est considéré comme 0, et il incrémentera la valeur jusqu'à l'index d'arrêt.
- Python range() a été introduit à partir de la version 3 de python, avant cela xrange() était la fonction.
- La plage() 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 paramètre step dans range() peut être utilisé pour incrémenter/décrémenter les valeurs. Par défaut, c'est une valeur positive 1. Il donnera donc toujours des valeurs incrémentées.
- Python génère une erreur pour les nombres à virgule flottante car la fonction range() ne prend en charge que les valeurs entières.
- Les valeurs de range() sont accessibles en utilisant la boucle for, en utilisant index et list()
- Le module NumPy a une fonction arange() qui fonctionne et donne une sortie similaire à range(). Le arange() prend les mêmes paramètres que range().
- Il est possible d'obtenir la séquence à virgule flottante NumPy arange() qui n'est pas prise en charge avec range().
Python
- Arguments de la fonction Python
- Fonction Python Anonyme/Lambda
- Fonctions Python Lambda avec EXEMPLES
- Fonction Python abs() :Exemples de valeurs absolues
- Fonction Python round() avec EXEMPLES
- Python range() Fonction :Float, List, For loop Exemples
- Fonction Python map() avec EXEMPLES
- Fonction Enumerate() en Python :boucle, tuple, chaîne (exemple)
- Python List count() avec des EXEMPLES