Rechercher l'index d'un élément dans une liste en Python
-
Utilisez la méthode List
index()
pour trouver l’index d’une liste en Python -
Utilisez
numpy.where()
pour trouver l’index d’une liste en Python
Ce didacticiel montrera comment trouver la position ou l’index d’un élément dans une liste Python.
Utilisez la méthode List index()
pour trouver l’index d’une liste en Python
La liste Python a une méthode intégrée appelée index()
, qui accepte un seul paramètre représentant la valeur à rechercher dans la liste existante. La fonction renvoie l’index de la première occurrence qu’elle trouve à partir de l’index 0
quel que soit le nombre de fois qu’elle apparaît dans la liste.
Par exemple, déclarez une liste avec une valeur répétitive de 20
et appelez la fonction index(20)
et affichez ce qu’elle renvoie.
lst = [13, 4, 20, 15, 6, 20, 20]
print(lst.index(20))
Production:
2
La première occurrence de la valeur 20
trouvée dans le tableau lst
était sur l’index 2
, qui est le résultat de l’appel de fonction. Les autres éléments avec la même valeur sont ignorés car il a déjà trouvé une correspondance dans la liste.
Que se passe-t-il lorsqu’une valeur n’existe pas dans la liste donnée, et que l’on appelle index()
en passant la valeur inexistante? Prenons ceci par exemple.
lst = [13, 4, 20, 15, 6, 20, 20]
print(lst.index(21))
Production:
ValueError: 21 is not in list
La fonction lèvera une erreur si l’index n’est pas trouvé dans la liste. Dans certains cas, cela peut être défavorable pour invoquer une erreur. Pour éviter cela, attrapez l’erreur avec un bloc try...except
et faites-le de sorte que si l’index n’existe pas dans la liste, affectez-le à -1
.
lst = [13, 4, 20, 15, 6, 20, 20]
try:
ndx = lst.index(21)
except:
ndx = -1
print(ndx)
Production:
-1
De cette façon, une erreur explicite n’aura pas à être invoquée et le programme pourra continuer à s’exécuter après l’opération.
Utilisez numpy.where()
pour trouver l’index d’une liste en Python
Le module NumPy
a une fonction prédéfinie appelée where()
qui s’occupe de localiser plusieurs éléments dans une liste et accepte une condition.
Dans ce cas, nous utiliserons exclusivement where()
pour localiser les indices d’une valeur donnée. Contrairement à la fonction intégrée index()
, la fonction where()
peut renvoyer une liste d’indices où se trouve la valeur si elle existe plus d’une fois dans une liste. Ceci est utile si vous avez besoin de toutes les occurrences de la valeur au lieu de seulement la première occurrence.
La première étape est de convertir une liste Python en un tableau NumPy
. Pour ce faire, appelez la fonction np.array()
.
import numpy as np
lst = np.array(lst=[13, 4, 20, 15, 6, 20, 20])
Après avoir initialisé le tableau NumPy
, il suffit de renseigner le premier paramètre de where()
. Initialisez le premier paramètre comme lst == 20
pour localiser les indices de la liste donnée avec la valeur 20
.
import numpy as np
lst = [13, 4, 20, 15, 6, 20, 20]
lst = np.array(lst)
result = np.where(lst == 20)
print(result)
Production:
(array([2, 5, 6]),)
Puisque NumPy
traite principalement des matrices, la fonction where()
renvoie un tuple de tableaux au lieu d’une seule liste. Si la sortie de la seule liste est préférée, alors appelez le premier index du résultat et sortez-le en utilisant print()
.
import numpy as np
lst = [13, 4, 20, 15, 6, 20, 20]
lst = np.array(lst)
result = np.where(lst == 20)
print(result[0])
Production:
[2 5 6]
Notez que les tableaux NumPy
sont délimités par un seul espace au lieu des virgules normales.
En résumé, la fonction index()
est le moyen le plus simple de trouver la position d’un élément dans une liste Python. Bien que cette fonction ne renvoie que l’index de la première occurrence de la valeur donnée.
Pour renvoyer plusieurs index si plusieurs instances de la valeur existent, alors vous pouvez choisir d’utiliser la fonction where()
dans le module NumPy
.
Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.
LinkedInArticle connexe - Python List
- Convertir un dictionnaire en liste en Python
- Supprimer toutes les occurrences d'un élément d'une liste en Python
- Supprimer les doublons de la liste en Python
- Comment obtenir la moyenne d'une liste en Python
- Quelle est la différence entre les méthodes de liste append et extend
- Comment convertir une liste en chaîne de caractères en Python