Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Python

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 :

Syntaxe

range(start, stop, step)

Paramètres

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

  1. Arguments de la fonction Python
  2. Fonction Python Anonyme/Lambda
  3. Fonctions Python Lambda avec EXEMPLES
  4. Fonction Python abs() :Exemples de valeurs absolues
  5. Fonction Python round() avec EXEMPLES
  6. Python range() Fonction :Float, List, For loop Exemples
  7. Fonction Python map() avec EXEMPLES
  8. Fonction Enumerate() en Python :boucle, tuple, chaîne (exemple)
  9. Python List count() avec des EXEMPLES