Site de référence: [Introduction to Python] Comment itérer avec la fonction range?
En Python, l'instruction for peut être utilisée pour répéter le processus un certain nombre de fois. À ce moment-là, vous pouvez préparer une liste de valeurs numériques et la faire pivoter de cette longueur, mais l'utilisation de range facilite l'écriture comme Python.
Cette fois, je vais vous expliquer comment utiliser range en Python.
Si vous souhaitez répéter le processus un certain nombre de fois en Python, vous pouvez le faire en utilisant la liste de la longueur de la phrase. Par exemple, si vous souhaitez répéter 5 fois, utilisez une liste de longueur 5.
list1 = [1, 2, 3, 4, 5]
count = 0
for x in list1:
count += 1
print('Nombre de boucles:{}'.format(count))
Résultat d'exécution
Nombre de boucles: 5
Cette méthode est très bien, mais si vous la répétez longtemps, par exemple 100 ou 1000 fois, cela peut être fastidieux et long d'avoir une liste de cette longueur.
Si vous souhaitez répéter la boucle un certain nombre de fois, utilisez la fonction de plage. La fonction range est une fonction qui génère automatiquement une liste continue d'entiers d'une longueur spécifiée. En combinant l'instruction for et la fonction range, vous pouvez effectuer une boucle autant de fois que vous le souhaitez.
pour variable dans la plage([Numéro de départ,]Dernier numéro[,Montant à augmenter]):
#Traitement en boucle
range a trois arguments: le numéro de départ, le dernier numéro et le montant croissant, dont le numéro de départ et le montant croissant peuvent être omis. Si vous passez un nombre à range (), ce sera le dernier numéro et une liste sera créée contenant les valeurs de 0 à "dernier numéro - 1".
count = 0
for x in range(5):
print(x)
count += 1
print('Nombre de boucles:{}'.format(count))
Résultat d'exécution
0 1 2 3 4 Nombre de boucles: 5
Dans cet exemple, puisque 5 est passé à range (), une "liste de longueur 5 avec des éléments de 0 à 4" est créée, et les éléments sont extraits un par un à partir de là, donc boucle 5 fois. Je peux. Si vous voulez que le premier nombre soit n'importe quel nombre au lieu de 0, entrez le «numéro de départ» de l'argument.
count = 0
for x in range(1, 5):
print(x)
count += 1
print('Nombre de boucles:{}'.format(count))
Résultat d'exécution
1 2 3 4 Nombre de boucles: 4
Changement de l'argument de range de (5) à (1,5). Cela a abouti à une "liste de longueur 4 avec des éléments de 1 à 4" renvoyés par plage, résultant en 4 boucles.
Vous pouvez également modifier librement la valeur ajoutée à l'élément suivant en spécifiant le «montant d'augmentation». Cela facilite la création de listes qui augmentent de 2 de 0 à 8 et de listes qui augmentent de 3 de 0 à 9.
count = 0
for x in range(0, 10, 2):
print(x)
count += 1
print('Nombre de boucles:{}'.format(count))
Résultat d'exécution
0 2 4 6 8 Nombre de boucles: 5
Dans cet exemple, le début est 0 et la fin est 10, mais le montant à augmenter est 2. Par conséquent, range renverra "une liste de longueur 5 qui augmente de 2 de 0 à 8", donc le nombre de boucles sera de 5.
Vous pouvez également utiliser des nombres négatifs dans la plage. Vous pouvez également créer une liste dans l'ordre inverse en inversant les valeurs de début et de fin et en augmentant le montant à un nombre négatif.
count = 0
for x in range(10, 0, -2): #Passer un nombre négatif
print(x)
count += 1
print('Nombre de boucles:{}'.format(count))
Résultat d'exécution
10 8 6 4 2 Nombre de boucles: 5
Si votre version de Python est 2.x.x, il existe une fonction xrange très similaire à range. L'utilisation et le résultat de l'exécution de xrange sont exactement les mêmes que ceux de range.
count = 0
for x in xrange(5):
print(x)
count += 1
print('Nombre de boucles:{}'.format(count))
Résultat d'exécution
0 1 2 3 4 Nombre de boucles: 5
Quelle est donc la différence entre range et xrange, c'est que xrange économise de la mémoire. range crée une liste avec les éléments spécifiés par l'argument et exécute l'instruction for en extrayant les éléments de la liste. D'autre part, xrange n'exécute pas l'instruction for après la première création de la liste, mais génère la valeur selon les besoins lors de la récupération avec l'instruction for. En d'autres termes, comme il ne crée pas de liste, xrange peut économiser de la mémoire pour le même processus.
Cependant, la différence entre range et xrange est si petite que vous n'avez généralement pas besoin d'utiliser xrange. Fondamentalement, vous devez utiliser range.
De plus, dans la série Python3, xrange lui-même a été aboli car la structure de range est proche de xrange. Par conséquent, dans le cas de la série Python3, il est préférable d'utiliser range sans s'en soucier.
Recommended Posts