Python Liste index() avec exemple
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.
Il existe de nombreuses mรฉthodes disponibles sur une liste, et la plus importante est l'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 list index() intรฉgrรฉe, vous pouvez รฉgalement utiliser d'autres moyens pour obtenir l'index, comme parcourir la liste en boucle, en utilisant les comprรฉhensions de liste, enumerate(), les mรฉthodes de filtrage.
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'index start: pour rechercher l'รฉlรฉment. Si elle nโest pas indiquรฉe, 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 essaierons de limiter la recherche d'index dans une liste en utilisant les index de dรฉbut et 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 qui nโest pas prรฉsent.
Lorsque vous essayez de rechercher un index dans la liste pour un รฉlรฉment qui n'est pas prรฉsent, vous obtiendrez une erreur comme indiquรฉ 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รฉrez maintenant la liste comme : 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 la boucle for, nous devrions pouvoir obtenir les multiples 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 : my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'], nous avons besoin de tous les index de l'รฉlรฉment 'Guru'.
Ci-dessous, un exemple montre comment obtenir tous les index ร l'aide de la 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 python. Vous pouvez utiliser enumerate pour obtenir tous les index de l'รฉlรฉment dans une liste. Il prend l'entrรฉe comme un objet itรฉrable (c'est-ร -dire un objet qui peut รชtre bouclรฉ) et la sortie est un objet avec un compteur pour chaque รฉlรฉment.
L'exemple suivant montre comment utiliser 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 utilisรฉe pour les tableaux. Nous utiliserons donc ici NumPy pour obtenir l'index de l'รฉlรฉment dont nous avons besoin 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 la 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รฉ en utilisant 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
Le more_itertools.locate() permet de trouver les index de l'รฉlรฉment dans la liste. Ce module fonctionnera avec python version 3.5+. Le paquet more_itertools doit d'abord รชtre installรฉ pour pouvoir l'utiliser.
Voici les รฉtapes pour installer et utiliser more_itertools
รtape 1) Installez more_itertools ร l'aide de pip (gestionnaire de packages python). 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]
Rรฉsumรฉ
- La mรฉthode list index() vous aide ร trouver lโindex de lโรฉlรฉment donnรฉ. C'est le moyen le plus simple et le plus simple d'obtenir l'index.
- 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' is not in list.
- Outre la mรฉthode de liste intรฉgrรฉe, vous pouvez รฉgalement utiliser d'autres moyens pour obtenir l'index, comme parcourir la liste en boucle, utiliser la comprรฉhension de liste, utiliser enumerate(), utiliser un filtre, etc.
- Utilisation des boucles for et while pour obtenir les multiples index d'un รฉlรฉment donnรฉ.
- 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 fonctions utilisรฉes pour crรฉer de nouvelles sรฉquences.
- Ils contribuent ร rรฉduire les boucles plus longues et rendent votre code plus facile ร lire et ร maintenir.
- Vous pouvez utiliser enumerate pour obtenir tous les index de l'รฉlรฉment dans une liste.
- La fonction Enumerate() est une fonction intรฉgrรฉe disponible avec python. Il prend l'entrรฉe comme un objet itรฉrable (c'est-ร -dire un objet qui peut รชtre bouclรฉ) et la sortie est un objet avec un compteur pour chaque รฉlรฉment.
- La mรฉthode filter() filtre la liste donnรฉe en fonction de la fonction donnรฉe.
- La bibliothรจque Numpy est spรฉcialement utilisรฉe pour les tableaux. Vous pouvez utiliser NumPy pour obtenir l'index de l'รฉlรฉment donnรฉ dans la liste.
- more_itertools.locate() est encore une autre bibliothรจque Python qui permet de trouver les index de la liste donnรฉe.
