Python Liste index() avec exemple
⚡ Résumé intelligent
Python list index() renvoie la première position d'un élément donné, tandis que looping Les constructions, les compréhensions de liste, enumerate(), filter(), la bibliothèque NumPy et more_itertools.locate() étendent cette technique pour collecter chaque index correspondant dans une liste contenant des valeurs en double.

Une liste est un conteneur qui stocke des éléments de différents types de données (entiers, flottants, booléens, chaînes, etc.) dans une séquence ordonnée. Il s’agit d’une structure de données importante intégrée PythonLes données sont écrites entre crochets ([]) et les valeurs sont séparées par une virgule (,).
Les éléments à l'intérieur de la liste sont indexés avec le premier élément commençant à l'index 0. Vous pouvez apporter des modifications à la liste créée en ajoutant de nouveaux éléments ou en mettant à jour, en supprimant ceux existants. Il peut également contenir des éléments en double et une liste imbriquée.
De nombreuses méthodes sont disponibles sur une liste, et l'une des plus importantes est la méthode index().
Python Index de liste()
La méthode list index() vous aide à trouver le premier index le plus bas de l’élément donné. S'il y a des éléments en double dans la liste, le premier index de l'élément est renvoyé. C'est le moyen le plus simple et le plus simple d'obtenir l'index.
Outre la méthode intégrée index() de la liste, vous pouvez également utiliser d'autres méthodes pour obtenir l'index, comme looping à travers la liste, en utilisant des compréhensions de liste, les méthodes enumerate() et filter.
La méthode list index() renvoie le premier index le plus bas de l’élément donné.
Syntaxe
list.index(element, start, end)
Paramètres
| Paramètres | Description |
|---|---|
| un élément | L'élément dont vous souhaitez obtenir l'index. |
| Commencer | Ce paramètre est facultatif. Vous pouvez définir l'indice de départ de la recherche de l'élément. S'il n'est pas spécifié, la valeur par défaut est 0. |
| fin | Ce paramètre est facultatif. Vous pouvez spécifier l'index de fin de l'élément à rechercher. S'il n'est pas renseigné, il est pris en compte jusqu'à la fin de la liste. |
Valeur de retour
La méthode list index() renvoie l'index de l'élément donné. Si l'élément n'est pas présent dans la liste, la méthode index() générera une erreur, par exemple, ValueError : 'Element' n'est pas dans la liste.
Exemple : Pour trouver l'index de l'élément donné.
Dans la liste my_list = ['A', 'B', 'C', 'D', 'E', 'F'], nous aimerions connaître l'index des éléments C et F.
L'exemple ci-dessous montre comment obtenir l'index.
my_list = ['A', 'B', 'C', 'D', 'E', 'F'] print("The index of element C is ", my_list.index('C')) print("The index of element F is ", my_list.index('F'))
Sortie :
The index of element C is 2 The index of element F is 5
Exemple : utilisation du début et de la fin dans index()
Dans cet exemple, nous allons essayer de limiter la recherche de l'index dans une liste en utilisant l'index de début et l'index de fin.
my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] print("The index of element C is ", my_list.index('C', 1, 5)) print("The index of element F is ", my_list.index('F', 3, 7)) #using just the startindex print("The index of element D is ", my_list.index('D', 1))
Sortie :
The index of element C is 2 The index of element F is 5 The index of element D is 3
Exemple : Tester la méthode index() avec un élément absent.
Lorsque vous tentez de rechercher dans la liste un élément absent, vous obtiendrez une erreur comme celle affichée ci-dessous :
my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] print("The index of element C is ", my_list.index('Z'))
Sortie :
Traceback (most recent call last): File "display.py", line 3, in <module> print("The index of element C is ", my_list.index('Z')) ValueError: 'Z' is not in list
Utiliser la boucle for pour obtenir l'index d'un élément dans une liste
Avec la méthode list.index(), nous avons vu qu'elle donne l'index de l'élément passé en argument.
Considérons maintenant la liste comme suit : my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']. Le nom 'Guru' est présent 3 fois dans l'index, et je veux tous les index portant le nom 'Guru".
En utilisant une boucle for, nous devrions pouvoir obtenir les différents index comme indiqué dans l'exemple ci-dessous.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] all_indexes = [] for i in range(0, len(my_list)) : if my_list[i] == 'Guru' : all_indexes.append(i) print("Originallist ", my_list) print("Indexes for element Guru : ", all_indexes)
Sortie :
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
Utilisation de la boucle while et de list.index()
L'utilisation d'une boucle while parcourra la liste donnée pour obtenir tous les index de l'élément donné.
Dans la liste : ma_liste = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'], nous avons besoin de tous les index de l'élément 'Guru".
Vous trouverez ci-dessous un exemple montrant comment obtenir tous les index à l'aide d'une boucle while.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] result = [] elementindex = -1 while True: try: elementindex = my_list.index('Guru', elementindex+1) result.append(elementindex) except ValueError: break print("OriginalList is ", my_list) print("The index for element Guru is ", result)
Sortie :
OriginalList is ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] The index for element Guru is [0, 3, 6]
Utiliser la compréhension de liste pour obtenir l'index d'un élément dans une liste
Pour obtenir tous les index, un moyen simple et rapide consiste à utiliser la compréhension de liste sur la liste.
Les compréhensions de listes sont Python les fonctions utilisées pour créer de nouvelles séquences (telles que des listes, des dictionnaires, etc.), c'est-à-dire en utilisant des séquences déjà créées.
Ils contribuent à réduire les boucles plus longues et rendent votre code plus facile à lire et à maintenir.
L'exemple suivant montre comment procéder :
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] print("Originallist ", my_list) all_indexes = [a for a in range(len(my_list)) if my_list[a] == 'Guru'] print("Indexes for element Guru : ", all_indexes)
Sortie :
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
Utiliser Enumerate pour obtenir l'index d'un élément dans une liste
La fonction Enumerate() est une fonction intégrée disponible avec PythonVous pouvez utiliser la fonction `enumerate` pour obtenir tous les indices des éléments d'une liste. Elle prend en entrée un objet itérable (c'est-à-dire un objet sur lequel on peut boucler) et renvoie un objet contenant un compteur pour chaque élément.
L'exemple suivant montre comment utiliser la fonction enumerate sur une liste pour obtenir tous les index d'un élément donné.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] print("Originallist ", my_list) print("Indexes for element Guru : ", [i for i, e in enumerate(my_list) if e == 'Guru'])
Sortie :
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
Utiliser un filtre pour obtenir l'index d'un élément dans une liste
La méthode filter() filtre la liste donnée en fonction de la fonction donnée. Chaque élément de la liste sera transmis à la fonction et les éléments requis seront filtrés en fonction de la condition donnée dans la fonction.
Utilisons la méthode filter() pour obtenir les index de l'élément donné dans la liste.
L'exemple suivant montre comment utiliser un filtre sur une liste.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] print("Originallist ", my_list) all_indexes = list(filter(lambda i: my_list[i] == 'Guru', range(len(my_list)))) print("Indexes for element Guru : ", all_indexes)
Sortie :
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
Utiliser NumPy pour obtenir l'index d'un élément dans une liste
La bibliothèque NumPy est spécialement conçue pour les tableaux. Nous allons donc l'utiliser ici pour obtenir l'indice de l'élément souhaité dans la liste donnée.
Pour utiliser NumPy, nous devons l'installer et l'importer.
Voici les étapes à suivre :
Étape 1) Installer NumPy
pip install numpy
Étape 2) Importez le module NumPy.
import numpy as np
Étape 3) Utilisez np.array pour convertir une liste en tableau.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] np_array = np.array(my_list)
Étape 4) Obtenez l'index de l'élément souhaité à l'aide de np.where().
item_index = np.where(np_array == 'Guru')[0]
Le code de travail final avec sortie est le suivant :
import numpy as np my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] np_array = np.array(my_list) item_index = np.where(np_array == 'Guru')[0] print("Originallist ", my_list) print("Indexes for element Guru :", item_index)
Sortie :
Originallist['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0 3 6]
Utiliser more_itertools.locate() pour obtenir l'index d'un élément dans une liste
La fonction more_itertools.locate() permet de trouver les index des éléments dans la liste. Ce module fonctionnera avec Python version 3.5+. Le package more_itertools doit d'abord être installé pour pouvoir l'utiliser.
Voici les étapes à suivre pour installer et utiliser more_itertools :
Étape 1) Installez more_itertools en utilisant pip (Python gestionnaire de paquets). La commande est
pip install more_itertools
Étape 2) Une fois l'installation terminée, importez le localiser module comme indiqué ci-dessous.
from more_itertools import locate
Vous pouvez maintenant utiliser le module de localisation sur une liste comme indiqué ci-dessous dans l'exemple :
from more_itertools import locate my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] print("Originallist : ", my_list) print("Indexes for element Guru :", list(locate(my_list, lambda x: x == 'Guru')))
Sortie :
Originallist : ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
