Accéder au contenu principal

Tutoriel Python List Index()

Dans ce tutoriel, vous apprendrez exclusivement à connaître la fonction index().
Actualisé 4 oct. 2024  · 6 min de lecture

Une structure de données est une manière d'organiser et de stocker des données qui permet un accès et une modification efficaces. Les listes sont un type de structure de données qui stocke une collection d'éléments hétérogènes et sont des structures de données intégrées. Python fournit également de nombreuses fonctions ou méthodes que vous pouvez utiliser pour travailler avec des listes.

Dans ce tutoriel, vous apprendrez à connaître la fonction Python index(). La méthode index() recherche un élément dans la liste et renvoie sa position/index. Tout d'abord, ce tutoriel vous présentera les listes, puis vous verrez quelques exemples simples d'utilisation de la fonction index().

Pour exécuter facilement vous-même tous les exemples de code de ce tutoriel, vous pouvez créer gratuitement un classeur DataLab dans lequel Python est préinstallé et qui contient tous les exemples de code.

Qu'est-ce que l'indexation en Python ?

En Python, l'indexation fait référence au processus d'accès à un élément spécifique d'une séquence, telle qu'une chaîne ou une liste, en utilisant sa position ou son numéro d'index. En Python, l'indexation commence à 0, ce qui signifie que le premier élément d'une séquence a un index de 0, le deuxième élément a un index de 1, et ainsi de suite. Par exemple, si nous avons une chaîne de caractères "Hello", nous pouvons accéder à la première lettre "H" en utilisant son index 0 en utilisant la notation entre crochets : string[0].

La fonction intégrée index() de Python est un outil utile pour trouver l'index d'un élément spécifique dans une séquence. Cette fonction prend un argument représentant la valeur à rechercher et renvoie l'index de la première occurrence de cette valeur dans la séquence.

Si la valeur n'est pas trouvée dans la séquence, la fonction lève une ValueError. Par exemple, si nous avons une liste [1, 2, 3, 4, 5], nous pouvons trouver l'index de la valeur 3 en appelant list.index(3), ce qui renverra la valeur 2 (puisque 3 est le troisième élément de la liste et que l'indexation commence à 0).

La fonction index() est un outil puissant en Python, car elle simplifie le processus de recherche de l'index d'un élément dans une séquence, en éliminant la nécessité d'écrire des boucles ou des instructions conditionnelles. Cette fonction est particulièrement utile lorsque vous travaillez avec de grands ensembles de données ou des structures complexes, où la recherche manuelle peut prendre beaucoup de temps et être source d'erreurs.

Apprenez Python à partir de zéro

Maîtrisez Python pour la science des données et acquérez des compétences recherchées.
Commencez à apprendre gratuitement

Exemples d'index Python

La méthode index() renvoie l'indice le plus bas de la liste où figure l'élément recherché. Si un élément qui n'est pas présent est recherché, il renvoie une ValueError.

Essayons ceci :

list_numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
element = 3
list_numbers.index(element)
2
list_numbers = [4, 5, 6, 7, 8, 9, 10]
element = 3 # Not in the list
list_numbers.index(element) # Throws a ValueError
---------------------------------------------------------------------------

ValueError                                Traceback (most recent call last)

<ipython-input-35-6a006c988b06> in <module>()
      1 list_numbers = [4, 5, 6, 7, 8, 9, 10]
      2 element = 3 # Not in the list
----> 3 list_numbers.index(element) # Throws a ValueError


ValueError: 3 is not in list

Index d'un élément de chaîne de caractères

Essayons avec des éléments de chaîne :

list_numbers = [1, 'two', 3, 4, 5, 6, 7, 8, 9, 10]
element = 'two'
list_numbers.index(element)
1

Que signifie renvoyer l'indice le plus bas ?

Si vous avez plus d'une instance d'un élément, index() vous donnera la première position où l'élément apparaît.

list_numbers = [3, 1, 2, 3, 3, 4, 5, 6, 3, 7, 8, 9, 10]
element = 3
list_numbers.index(element)
0

La position renvoyée est 0, car 3 apparaît d'abord en première position ou au 0e indice en Python.

Voici ce qui se passe en interne : l'index parcourt toutes les valeurs à partir de la première position (0e index) à la recherche de l'élément que vous recherchez, et dès qu'il trouve la valeur, il renvoie la position et quitte le système. Toutefois, cette méthode n'est pas très efficace lorsque vous parcourez une grande liste et que vous avez besoin de connaître la position d'un élément situé à la fin de la liste.

index() vous offre la possibilité de lui donner des indications sur l'endroit où se trouve la valeur recherchée

list_numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
element = 7
list_numbers.index(element, 5, 8)
6

La syntaxe est donc : list_name.index(element, start, stop).

Ici, les valeurs start et stop sont facultatives. En fait, ne l'utilisez que si vous êtes totalement sûr de la plage, sinon vous obtiendrez une erreur de valeur (ValueError) comme ci-dessous.

list_numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
element = 7
list_numbers.index(element, 1, 5)
---------------------------------------------------------------------------

ValueError                                Traceback (most recent call last)

<ipython-input-39-b96f4b5e51d5> in <module>()
      1 list_numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
      2 element = 7
----> 3 list_numbers.index(element, 1, 5)


ValueError: 7 is not in list

Compréhension de la liste ou expression du générateur

Comme index() ne renvoie que la première correspondance à un objet, vous pouvez utiliser la compréhension de liste ou l'expression de générateur si vous avez besoin des positions d'autres correspondances dans la liste. Voici comment :

list_numbers = [3, 1, 2, 3, 3, 4, 5, 6, 3, 7, 8, 9, 10]
[i for i, n in enumerate(list_numbers) if n == 3] # List comprehension
[0, 3, 4, 8]
list_numbers = [3, 1, 2, 3, 3, 4, 5, 6, 3, 7, 8, 9, 10]
g = (i for i, n in enumerate(list_numbers) if n == 3) # Generator expression
print("Generators store values, the first value here is:", next(g), ". Then the next is:", next(g), "followed by ", next(g),"and finally ", next(g))
Generators store values, the first value here is: 0. Then the next is: 3 followed by  4 and finally  8

Réflexions finales

Félicitations, vous venez d'apprendre à connaître la fonction index() en Python. Vous avez vu comment il peut vous aider à travailler avec des listes. Vous avez également été initié à de nouveaux concepts. Pour en savoir plus sur la compréhension des listes, consultez le tutoriel Python List Comprehension de DataCamp. Le tutoriel Python Iterator de DataCamp en dit plus sur les générateurs et les expressions de générateurs.

Obtenez une certification dans le rôle de Data Scientist de vos rêves

Nos programmes de certification vous aident à vous démarquer et à prouver aux employeurs potentiels que vos compétences sont adaptées à l'emploi.

Obtenez votre certification
Timeline mobile.png

Index de la liste Python FAQs

Qu'est-ce que l'erreur "list index out of range" ?

L'erreur "list index out of range" se produit lorsque vous essayez d'accéder à un index qui se trouve en dehors de la plage des index valides pour une liste. Par exemple, si une liste comporte 5 éléments, les indices valables sont compris entre 0 et 4. Si vous essayez d'accéder à un index supérieur ou égal à 5, vous obtiendrez cette erreur.

Pour éviter l'erreur "list index out of range", vous devez vous assurer que l'index auquel vous essayez d'accéder se trouve dans la plage des index valides pour la liste. Vous pouvez utiliser la fonction len() pour obtenir la longueur d'une liste et vérifier si un indice se trouve dans la plage des indices valides.

Qu'est-ce que l'erreur "list indices must be integers" ?

L'erreur "list indices must be integers" se produit lorsque vous essayez d'utiliser une valeur non entière comme index de liste. Par exemple, si vous essayez d'utiliser un nombre à virgule flottante ou une chaîne de caractères comme index de liste, vous obtiendrez cette erreur.

Pour éviter l'erreur "les indices de liste doivent être des entiers", vous devez vous assurer que vous utilisez une valeur entière comme indice de liste. Si vous devez utiliser une valeur non entière comme index, vous pouvez la convertir en entier à l'aide de la fonction int().

Comment trouver l'indice d'un élément dans une liste ?

Vous pouvez utiliser la méthode index() d'une liste pour trouver l'index d'un élément spécifique. Par exemple, si my_list est une liste et que my_element est un élément de la liste, vous pouvez trouver l'index de my_element avec my_list.index(my_element).

Comment trouver tous les indices d'un élément dans une liste ?

Vous pouvez utiliser une compréhension de liste pour trouver tous les indices d'un élément dans une liste. Par exemple, si my_list est une liste et que my_element est un élément de la liste, vous pouvez trouver tous les indices de my_element avec [i for i in range(len(my_list)) if my_list[i] == my_element].

Sujets

Cours Python

Certification disponible

cours

Introduction à Python

4 hr
5.7M
Maîtrisez les bases de l'analyse de données avec Python en seulement quatre heures. Ce cours en ligne présente l'interface Python et explore les paquets les plus courants.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow