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 à Python. Les 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 les éléments existants. Il peut également avoir 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 ().
Dans ce tutoriel, vous apprendrez:
- Index de liste Python ()
- Utilisation de la boucle for pour obtenir l'index d'un élément dans une liste
- Utilisation de la boucle while et de list.index ()
- Utilisation de la compréhension de liste pour obtenir l'index de l'élément dans une liste
- Utiliser Enumerate pour obtenir l'index d'un élément dans une liste
- Utiliser le filtre pour obtenir l'index d'un élément dans une liste
- Utilisation de NumPy pour obtenir l'index d'un élément dans une liste
- Utiliser more_itertools.locate () pour obtenir l'index d'un élément dans une liste
Index de liste Python ()
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.
En plus de la méthode intégrée list index (), vous pouvez également utiliser d'autres moyens pour obtenir l'index, comme une boucle dans la liste, en utilisant des méthodes de compréhension de liste, enumerate () et de filtre.
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 |
élément | L'élément dont vous souhaitez obtenir l'index. |
début | Ce paramètre est facultatif. Vous pouvez définir le start: index pour rechercher l'élément. Sinon, la valeur par défaut est 0. |
finir | Ce paramètre est facultatif. Vous pouvez spécifier l'index de fin de l'élément à rechercher. S'il n'est pas donné, il est considéré 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 () lèvera 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 ma_liste = ['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'))
Production:
The index of element C is 2The index of element F is 5
Exemple: utilisation de start et end dans index ()
Dans cet exemple, nous essaierons de limiter la recherche d'index dans une liste en utilisant l'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 startindexprint("The index of element D is ", my_list.index('D', 1))
Production:
The index of element C is 2The index of element F is 5The index of element D is 3
Exemple: pour 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'))
Production:
Traceback (most recent call last):File "display.py", line 3, inprint("The index of element C is ", my_list.index('Z'))ValueError: 'Z' is not in list
Utilisation de 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 qui est passé en argument.
Considérez maintenant la liste comme suit: ma_liste = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']. Le nom 'Guru' est présent 3 fois dans l'index, et je veux tous les index avec le nom 'Guru'.
En utilisant for-loop, nous devrions être en mesure d'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)
Production:
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 fera une boucle dans 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'.
Ci-dessous, un exemple montre comment obtenir tous les index en utilisant la boucle while
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']result = []elementindex = -1while True:try:elementindex = my_list.index('Guru', elementindex+1)result.append(elementindex)except ValueError:breakprint("OriginalList is ", my_list)print("The index for element Guru is ", result)
Production:
OriginalList is ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']The index for element Guru is [0, 3, 6]
Utilisation de la compréhension de liste pour obtenir l'index de l'élément dans une liste
Pour obtenir tous les index, un moyen rapide et simple consiste à utiliser la compréhension de liste sur la liste.
Les compréhensions de listes sont des fonctions Python qui sont utilisées pour créer de nouvelles séquences (telles que des listes, des dictionnaires, etc.) c'est-à-dire en utilisant des séquences qui ont déjà été créées.
Ils aident à réduire les boucles plus longues et à rendre 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)
Production:
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 mis en boucle), 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'])
Production:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']Indexes for element Guru : [0, 3, 6]
Utiliser le 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 passé à 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 le 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)
Production:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']Indexes for element Guru : [0, 3, 6]
Utilisation de 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 allons donc utiliser 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 pour le même:
Étape 1) Installez 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 npmy_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)
Production:
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 () aide à trouver les index de l'élément dans la liste. Ce module fonctionnera avec la version 3.5+ de python. Le package 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 module de localisation 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 locatemy_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')))
Production:
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 () lèvera une erreur, par exemple ValueError: 'Element' n'est pas dans la liste.
- En plus de la méthode de liste intégrée, vous pouvez également utiliser d'autres moyens pour obtenir l'index, comme faire une boucle dans la liste, utiliser des compréhensions de liste, utiliser enumerate (), utiliser un filtre, etc.
- Utilisation de la boucle for et de la boucle while pour obtenir les multiples index d'un élément donné.
- Pour obtenir tous les index, un moyen rapide et simple consiste à utiliser la compréhension de liste sur la liste.
- Les compréhensions de liste sont des fonctions Python utilisées pour créer de nouvelles séquences.
- Ils aident à réduire les boucles plus longues et à rendre 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 mis en boucle), 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 aide à trouver les index de la liste donnée.