[Introduction à Python] Comment obtenir l'index des données avec l'instruction for

[Introduction à Python] Comment obtenir l'index des données avec l'instruction for

En Python, en utilisant l'instruction for, les données peuvent être extraites une par une à partir de diverses collections de données. Cependant, vous souhaitez parfois récupérer l'index de ces données ainsi que les données.

Cette fois, je vais vous expliquer comment obtenir l'index des données avec l'instruction for et son application.

Table des matières [Masquer] 1 [Obtenir l'index avec l'instruction for en utilisant la liste](## Obtenir l'index avec l'instruction for en utilisant la liste) 1.1 [Méthode utilisant la plage](Méthode utilisant la plage ###) 1.2 [Méthode utilisant enumerate](Méthode utilisant ### enumerate) 2 [Boucle deux listes en parallèle](## Boucle deux listes en parallèle) 2.1 [Utiliser la plage](Utiliser la plage ###) 2.2 [Use enumerate](### Use enumerate) 2.3 [Utiliser la fonction zip](Utiliser la fonction ### zip)

Obtenir l'index avec l'instruction for en utilisant la liste

Parmi les instructions for, en particulier celles qui utilisent des listes et des taples, vous souhaitez parfois utiliser cet index. Par conséquent, l'instruction Python for fournit un moyen de récupérer l'index de l'élément récupéré.

Méthode utilisant la plage

Dans l'instruction for de Python, il est courant d'utiliser la fonction range pour effectuer une boucle, mais vous pouvez utiliser cette plage pour récupérer l'index.

list = ['python', 'Hello', 'world']
 
for i in range(len(list)):
    list_item = list[i]
    print('{0}:{1}'.format(i, list_item))

Au lieu de récupérer des données directement à partir de la liste, la fonction len () récupère la longueur de la liste et effectue une boucle de ce montant. Ensuite, la valeur de la variable 1 à ce moment-là devient l'index, de sorte que l'élément index-ième est retiré dans l'instruction for, stocké dans une autre variable et finalement sorti ensemble.

Vous pouvez également récupérer correctement l'index avec cette méthode. Cependant, le code sera un peu difficile à lire. De plus, il est étrange de ne pas boucler directement dans la liste même si l'essentiel est d'extraire les éléments de la liste.

list = ['python', 'Hello', 'world']
 
for i in range(len(list)):
    list_item = list[i]
    print('{0}:{1}'.format(i, list_item))

Résultat d'exécution

0:python 1:Hello 2:world

Méthode utilisant enumerate

Auparavant, j'utilisais range pour récupérer l'index, mais le code était très difficile à lire. Donc Python fournit une fonction pour récupérer l'index avec du code propre. C'est énumérer.

pour la variable 1,Variable 2 dans l'énumération(liste):
  print('{0}:{1}'.format(Variable 1,Variable 2))

Vous pouvez utiliser la fonction enumerate pour récupérer l'index de l'élément et l'élément en même temps. L'index est stocké dans la variable 1 et l'élément est stocké dans la variable 2. Par rapport à la méthode utilisant range, le nombre de lignes est plus petit et plus propre, et le code est très facile à lire. Pour récupérer l'index, utilisez autant que possible la fonction énumération.

list = ['python', 'Hello', 'world']
 
for i, j in enumerate(list):
    print('{0}:{1}'.format(i, j))

Résultat d'exécution

0:python 1:Hello 2:world

utiliser la gamme

Vous pouvez utiliser range pour faire une boucle entre deux listes, comme vous le feriez avec une instruction for normale.

pour variable en rage(len(Liste 1)):
  print('{0}, {1}'.format(Liste 1[variable],Liste 2[variable]))

La boucle est tournée de la longueur du Listing 1 extraite par la fonction len. Ensuite, puisque la valeur de la 'variable' à ce moment-là est équivalente à l'index, vous pouvez boucler les deux listes en extrayant la variable e élément de chaque liste.

list1 = ['python', 'Hello', 'world']
list2 = ['Python', 'programming', 'beginner']
 
for i in range(len(list1)):
    print('list1:{0}, list2{1}'.format(list1[i], list2[i]))

Résultat d'exécution

list1:python, list2Python list1:Hello, list2programming list1:world, list2beginner

J'ai pu parcourir les deux listes et afficher les deux éléments. Cependant, avec la méthode utilisant range, le code est toujours difficile à lire.

Utiliser enumerate

Ensuite, la méthode possible consiste à utiliser l'énumération mentionnée précédemment.

pour la variable 1,Variable 2 dans l'énumération(Liste 1):
    print(‘{0}, {1}'.format(Variable 2,Liste 2[Variable 1]))

Avec la fonction enumerate, vous pouvez récupérer l'index de l'élément récupéré. En l'utilisant, les éléments du Listing 2 sont extraits. Le code est plus court et semble meilleur que l'utilisation de range, mais il est difficile à voir car il utilise deux variables séparément, et cela semble déroutant.

list1 = ['python', 'Hello', 'world']
list2 = ['Python', 'programming', 'beginner']
 
for i,j in enumerate(list1):
    print('list1:{0}, list2:{1}'.format(j, list2[i]))

Résultat d'exécution

list1:python, list2:Python list1:Hello, list2:programming list1:world, list2:beginner

Utilisez la fonction zip

La méthode de bouclage entre deux listes en utilisant range et enumerate est non seulement difficile à voir, mais présente également un autre problème. Cela peut provoquer une erreur si les deux listes sont de longueurs différentes.

list1 = ['python', 'Hello', 'world', 'test']
list2 = ['Python', 'programming', 'beginner']
 
for i,j in enumerate(list1):
    print('list1:{0}, list2:{1}'.format(j, list2[i]))

Résultat d'exécution

print(‘list1:{0}, list2:{1}’.format(j, list2[i])) IndexError: list index out of range

Dans cet exemple, list1 a une longueur de 4, donc la boucle est répétée 4 fois. Cependant, puisque list2 a une longueur de 3, cela entraînera une erreur car l'élément ne peut pas être référencé la 4ème fois dans la boucle. En d'autres termes, lorsque vous utilisez range et enumerate, vous devez tenir compte de la longueur de la liste, ce qui est un peu ennuyeux.

Pour résoudre le problème de la lisibilité du code et de la longueur de la liste, c'est une bonne idée d'utiliser la fonction zip lors de l'exécution des deux boucles.

pour la variable 1,Variable 2 en zip(Liste 1,Liste 2):
    print('{0}, {1}'.format(Variable 1,Variable 2))

Vous pouvez utiliser la fonction zip pour extraire chaque élément de deux ou plusieurs listes et stocker les éléments de la liste 1 dans la variable 1 et les éléments de la liste 2 dans la variable 2. Le code est très propre et facile à voir. De plus, si les longueurs de liste sont différentes, elle s'ajustera automatiquement à la longueur de liste la plus courte, vous n'avez donc pas à penser à la longueur de la liste une par une.

list1 = ['python', 'Hello', 'world', 'test']
list2 = ['Python', 'programming', 'beginner']
 
for i, j in zip(list1, list2):
    print('{0}, {1}'.format(i,j))

Résultat d'exécution

python, Python Hello, programming world, beginner

Site de référence [Introduction à Python] Comment obtenir l'index des données avec l'instruction for

Recommended Posts

[Introduction à Python] Comment obtenir l'index des données avec l'instruction for
[Introduction à Python] Comment obtenir des données avec la fonction listdir
[Introduction à Udemy Python3 + Application] 47. Traitez le dictionnaire avec une instruction for
Comment obtenir une liste de fichiers dans le même répertoire avec python
[Introduction à Python] Comment fractionner une chaîne de caractères avec la fonction split
[Introduction à Python] Comment écrire une chaîne de caractères avec la fonction format
[Introduction à Python] Quelle est la méthode de répétition avec l'instruction continue?
[Python] Comment utiliser l'instruction for. Une méthode d'extraction en spécifiant une plage ou des conditions.
Comment obtenir le nombre de chiffres en Python
[Introduction à Python] Comment itérer avec la fonction range?
Script Python pour obtenir une liste d'exemples d'entrée pour le concours AtCoder
Comment obtenir la version Python
Comment démarrer avec Python
Comment définir plusieurs variables dans une instruction Python for
Comment obtenir la dernière (dernière) valeur d'une liste en Python
Comment obtenir une liste d'exceptions intégrées pour python
Je ne savais pas comment utiliser l'instruction [python] for
Comment entrer dans l'environnement de développement Python avec Vagrant
Tourner un tableau de chaînes avec une instruction for (Python3)
Récupérez la source de la page à charger indéfiniment avec python.
[Python] Je souhaite utiliser uniquement l'index lors de la mise en boucle d'une liste avec une instruction for
Comment identifier l'élément avec le plus petit nombre de caractères dans une liste Python?
Comment déterminer l'existence d'un élément sélénium en Python
Comment modifier le niveau de journalisation d'Azure SDK pour Python
Exécutez le programme sans créer d'environnement Python! !! (Comment démarrer avec Google Colaboratory)
python / pandas / dataframe / Comment obtenir la ligne / colonne / index / colonne la plus simple
Comment obtenir l'ID de Type2Tag NXP NTAG213 avec nfcpy
Obtenir la valeur d'une clé spécifique jusqu'à l'index spécifié de la liste de dictionnaires en Python
Comment vérifier la taille de la mémoire d'une variable en Python
[Python] Comment obtenir le premier et le dernier jour du mois
[Introduction à StyleGAN] J'ai joué avec "The Life of a Man" ♬
Comment obtenir stacktrace en python
Après avoir frappé l'API Qiita avec Python pour obtenir une liste d'articles pour les débutants, nous visiterons les articles divins
Comment obtenir les coordonnées de sommet d'une entité dans ArcPy
[Python] Comment obtenir une valeur avec une clé autre que value avec Enum
Comment utiliser "deque" pour les données Python
De l'introduction de JUMAN ++ à l'analyse morphologique du japonais avec Python
[Introduction au Data Scientist] Bases de Python ♬
Comment obtenir les informations des organisations, Cost Explorer d'un autre compte AWS avec Lambda (python)
PhytoMine-I a essayé d'obtenir les informations génétiques de la plante avec Python
[Apprentissage de Django avec la lame du diable] Comment obtenir un ensemble de requêtes pour une référence avant / arrière
python Remarque: enumerate () -Obtenir l'index et l'élément de la liste en même temps et tourner pour l'instruction
[Python] Explique comment utiliser la fonction range avec un exemple concret
[Introduction à Python] Comment juger de l'authenticité avec l'instruction if (True et None)
Comment obtenir la différence de date et d'heure en secondes avec Python
Essayez d'imaginer les données d'élévation du National Land Research Institute avec Python
J'ai essayé d'obtenir le code d'authentification de l'API Qiita avec Python.
J'ai essayé d'obtenir les informations sur le film de l'API TMDb avec Python
Obtenez la clé pour la migration de la deuxième couche de données JSON avec python
Comment calculer la volatilité d'une marque
Comment lire un fichier CSV avec Python 2/3
[Python] Récupérez les fichiers dans le dossier avec Python
Obtenez un billet pour un parc à thème avec python
Récupérer l'appelant d'une fonction en Python
J'ai essayé d'obtenir des données CloudWatch avec Python
[Introduction à Python] Comment gérer les données au format JSON
Comment spécifier des attributs avec Mock of Python
Comment écrire une instruction ShellScript Bash for
[Introduction à l'application Udemy Python3 +] 43. instruction for else