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.