In Développement Dernière mise à jourated:
Partager sur:
Cloudways propose un hébergement cloud géré aux entreprises de toutes tailles pour héberger un site Web ou des applications Web complexes.

Dans ce guide, vous apprendrez à trouver l'index d'un élément dans une liste Python, à la fois en utilisant des itérations simples et une méthode de liste intégrée. indice().

Lorsque vous travaillez avec des listes Python, vous devrez peut-être connaître l'index auquel un élément particulier se produit. Vous pouvez le faire en :

  • Boucler dans la liste et vérifier si l'élément à l'index actuel est égal à la valeur particulière
  • Utilisation de la méthode de liste intégrée index()

Vous apprendrez les deux éléments ci-dessus dans ce didacticiel. Commençons.👩🏽‍💻

Listes Python, Revvisité

En Python, une liste est une collection d'éléments, de types de données identiques ou différents. Elles sont mutable; vous pouvez les modifier sur place sans avoir à créerate une nouvelle liste.

Prenons cet exemple fruits: une liste de 5 fruits différents.

fruits = ["apple","mango","strawberry","pomegranate","melon"]

Vous pouvez obtenir la longueur de n'importe quel objet Python en utilisant la fonction intégrée len() fonction. Vous pouvez donc appeler le len() fonction avec l'objet liste (fruits) comme argument pour obtenir sa longueur, comme indiqué ci-dessous.

len(fruits)
# Output: 5

 Nous utiliserons le fruits list comme exemple courant dans ce didacticiel.

Indexation dans les listes Python

Python suit zero indexage. Ainsi, dans tout itérable Python, le premier élément est à l'index 0, le deuxième élément est à l'index 1, et ainsi de suite. Si la longueur de l'itérable est k, alors le dernier élément est à l'index k - 1.

En Python, vous pouvez utiliser la fonction range() pour obtenir des indices lorsque vous parcourez les itérables.

Notes: Lorsque vous effectuez une boucle range(k), vous obtenez les indices 0,1,2,…,(k-1). Donc en fixant k = len(list), vous pouvez obtenir la liste de tous les index valides.

La cellule de code suivante explique cela.

for i in range(len(fruits)):
  print(f"i:{i}, fruit[{i}] is {fruits[i]}")

# Output
i:0, fruit[0] is apple
i:1, fruit[1] is mango
i:2, fruit[2] is strawberry
i:3, fruit[3] is pomegranate
i:4, fruit[4] is melon

Maintenant que nous avons couvert les bases de listes Python apprenons à trouver l'index d'un élément dans une liste.

Rechercher l'index d'un élément de liste par itération à l'aide de boucles for

Considérons la liste fruits du prevsection intéressante. Nous allons apprendre comment trouver l'index d'un élément spécifique dans cette liste par itération en utilisant for boucle.

Utilisation de la fonction boucle et plage()

Réparons target: la valeur que nous recherchons dans la liste.

Vous pouvez utiliser for boucle et range() fonction pour obtenir la liste des indices de 0 à len(fruits) - 1.

  • Parcourez la liste des fruits accédant à chaque index.
  • Vérifie si l'élément à l'index courant i est égal à la cible.
  • If True, imprimez que le target a été trouvé à l'index i.
fruits = ["apple","mango","strawberry","pomegranate","melon"]

target = "mango"

for i in range(len(fruits)):
  if fruits[i] == target:
   print(f"{target} found at index {i}")

# Output
mango found at index 1

Dans cet exemple, la chaîne cible 'mango' apparaît exactement une fois (à l'index 1) dans la liste fruits.

Cependant, la valeur cible apparaît parfois plusieurs fois ou n'apparaît pas du tout. Pour gérer ces cas, modifions la boucle ci-dessus et enveloppons le contenu dans une fonction appelée find_in_list.

Comprendreanding the Function Definition

La fonction find_in_list a deux paramètres:

  • target: la valeur recherchée, et
  • py_list: la liste Python dans laquelle vous effectuez une recherche.
def find_in_list(target,py_list):
  target_indices = []
  for i in range(len(fruits)):
    if fruits[i] == target:
      target_indices.append(i)  
  if target_indices == []:
    print("Sorry, target not found!")
  else:
    print(f"{target} is found at indices {target_indices}")

Dans le corps de la fonction, on initialise une liste vide target_indices. Nous parcourons la liste et accédons aux éléments de la liste. Si la cible a été trouvée à un index particulier, nous ajoutons cet index au target_indices liste à l'aide de la append() méthode.

Notes: En Python, list.append(item) ajoute item à la fin de list.

  • Si la cible n'est jamais trouvée, alors target_indices est une liste vide ; l'utilisateur est averti que la cible n'est pas présente dans la liste.
  • Si la cible se trouve à plus d'un index, alors target_indices contient tous ces indices.

Ensuite, redéfinissons le fruits liste comme indiqué.

Cette fois, nous recherchons le target un magnifique 'mango', qui se produit deux fois, aux indices 1 et 4.

fruits = ["apple","mango","strawberry","pomegranate","mango","melon"]
target = "mango"
find_in_list(target,fruits)

# Output
mango is found at indices [1, 4]

A l'appel de la fonction find_in_list avec target et le fruits comme arguments, nous voyons que les deux indices sont renvoyés.

target = "turnip"
find_in_list(target,fruits)

# Output
Sorry, target not found!

Si vous essayez de rechercher 'turnip' qui n'est pas présent dans le fruits liste, vous obtenez un message indiquant que la cible n'a pas été trouvée.

Utilisation de la boucle for et de l'énumérateurate() Fonction

En Python, vous pouvez utiliser le enumerate() fonction pour accéder à la fois à l'index et aux éléments simultanémentneohabituellement, sans avoir à utiliser le range() la fonction.

La cellule de code suivante montre comment vous pouvez utiliser le enumerate() fonction pour obtenir à la fois les indices et les éléments.

fruits = ["apple","mango","strawberry","pomegranate","mango","melon"]
for index,fruit in enumerate(fruits):
  print(f"Index {index}: {fruit}")

# Output
Index 0: apple
Index 1: mango
Index 2: strawberry
Index 3: pomegranate
Index 4: mango
Index 5: melon

Maintenant, réécrivons la fonction Python pour trouver l'index des éléments dans la liste en utilisant enumerate() la fonction.

def find_in_list(target,py_list):
  target_indices = []
  for index, fruit in enumerate(fruits):
   if fruit == target:
    target_indices.append(index) 
  if target_indices == []:
    print("Sorry, target not found!")
  else:
    print(f"{target} is found at indices {target_indices}")

Comme pour le prevsection ious, vous pouvez maintenant appeler le find_in_list fonction avec des arguments valides.

Vous pouvez transslate la définition de fonction ci-dessus dans une compréhension de liste équivalente et nous le ferons dans la section suivante.

Rechercher l'index d'un élément de liste par itération à l'aide de la compréhension de liste

Lister les compréhensions en Python vous permettre de créerate listes à partir de listes existantes en fonction de certaines conditions. Voici la construction générale :

new_list = [<output> for <items in existing iterables> if <condition is true>] 

La figure ci-dessous décrit comment identifier les éléments de compréhension de liste ; en utilisant ceci, vous pouvez convertir la fonction find_in_list à une compréhension de liste.

En utilisant ce qui précède, l'expression de compréhension de liste pour créerate Les indices cibles sont les suivants.

target_indices = [index for index,fruit in enumerate(fruits) if fruit==target]

Comme exercice, vous pouvez essayer d'exécuter l'extrait de code ci-dessus pour quelques autres exemples.

Rechercher l'index d'un élément de liste à l'aide de la méthode index ()

Pour trouver l'index d'un élément dans une liste Python, vous pouvez également utiliser la fonction intégrée .index() méthode. Voici la syntaxe générale :

list.index(value,start,end)

Analyse de la méthode ci-dessus :

  • value est la valeur cible que vous recherchez.
  • start et le end optionnel arguments de position ; vous pouvez les utiliser pour rechercher trouver l'index d'un élément dans la tranche de liste à partir de start et s'étendant jusqu'à end - 1.

Notes: Les .indice() retourne la méthode uniquement l'indice de la première occurrence of value in list. Même lorsque vous trouvez l'index d'un élément dans une tranche de liste [début : fin-1], cette méthode renvoie uniquement l'index correspondant à la première occurrence de l'élément.

LET revisit notre exemple pour comprendre comment le .index() la méthode fonctionne.

fruits = ["apple","mango","strawberry","pomegranate","mango","melon"]
target = "mango"

fruits.index(target)
1

Même s'il y a deux occurrences de 'mango' dans le fruits liste, vous pouvez voir que seul l'index de la premier l'occurrence a été renvoyée.

Pour obtenir l'index de la deuxième occurrence de mango, nous pouvons effectuer une recherche dans la tranche de liste commençant à l'index 2 et s'étendant jusqu'à l'index 5, comme indiqué ci-dessous.

fruits.index(target,2,5)
4

Comment gérer les erreurs de valeur en Python

Voyons maintenant ce qui se passe si vous essayez de trouver l'index d'un élément qui n'est pas présent dans la liste, disons, 'carrot'.

target = "carrot"

fruits.index(target)

# Output
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-17-81bd454e44f7> in <module>()
      1 target = "carrot"
      2 
----> 3 fruits.index(target)

ValueError: 'carrot' is not in list

Comme on le voit dans la cellule de code ci-dessus, cerows a Erreur de valeur. En Python, vous pouvez gérer cela comme une exception en utilisant le try et le except Blocs.

La syntaxe générale à utiliser try-except est comme suit.

try:
  # to do this
except <ErrorType>:
  # do this to handle <ErrorType> as exception

En utilisant les blocs try-except ci-dessus, nous pouvons gérer Erreur de valeur comme une exception.

target = "carrot"
try:
  fruits.index(target)
except ValueError:
  print(f"Sorry, could not find {target} in list")

# Output
Sorry, could not find carrot in list

Le code ci-dessus fait ce qui suit :

  • Si la cible est présente dans la liste, elle retourne l'index de la cible.
  • Si la cible n'est pas présente, elle gère Erreur de valeur comme exception et imprime le message d'erreur.

résumer

Voici un résumé des différentes méthodes que vous avez apprises pour trouver l'index d'un élément dans une liste Python.

  • Vous pouvez utiliser Python à boucle et intervalle() fonction pour obtenir les éléments et leurs indices respectifs. Vérifiez si les éléments des indices correspondent à la cible.
  • Vous pouvez également utiliser la énumérateurate() fonction à simultaneoaccédez généralement à l'élément et à l'index. 
  • Vous pouvez utiliser les deux méthodes ci-dessus dans une expression de compréhension de liste.
  • Pour trouver l'index d'un élément dans une liste, vous pouvez également utiliser la fonction intégrée .indice() méthode.
  • liste.index(valeur) renvoie l'indice de la première occurrence de Plus-value in liste. Si la valeur n'est pas présente, elle lève un Erreur de valeur.
  • Vous pouvez rechercher dans une certaine tranche de la liste en utilisant list.index(valeur, début, fin) pour rechercher l'occurrence d'une valeur dans la tranche de liste [début : fin-1]

Ensuite, apprenez à trier un dictionnaire Python par clé ou par valeur. Heureux Programmation Python!

Partager sur:
  • Bala Priya C
    Auteur
    Bala Priya est développeur et technicien writer originaire d'Inde avec plus de trois ans d'expérience dans le domaine de la rédaction de contenu technique. Elle partage son apprentissage avec la communauté des développeurs en créant des didacticiels techniques, des guides pratiques, et bien plus encore….

Merci à nos commanditaires

Plus de bonnes lectures sur le développement

Alimentez votre entreprise

Certains des outils et services pour aider votre entreprise grow.
  • L'outil de synthèse vocale qui utilise l'IA pour générerate des voix humaines réalistes.

    Essayez Murf AI
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, moteur de recherche et tout ce dont vous avez besoin pour collecter des données Web.

    Essayez Brightdata
  • Monday.com est un système d'exploitation de travail tout-en-un pour vous aider à gérer les projets, les tâches, le travail, les ventes, le CRM, les opérations, workflowset plus encore.

    Essayez Monday
  • Intruder est un scanner de vulnérabilités en ligne qui détecte les failles de cybersécurité de votre infrastructure, afin d'éviter des violations de données coûteuses.

    Essayez Intruder