Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Python

Python list.index() : Comment Trouver les Positions d'Éléments avec Exemples Pratiques

Les listes Python sont des collections ordonnées qui peuvent contenir des éléments de tout type — entiers, chaînes, booléens, listes imbriquées, et plus. La méthode intégrée list.index() est le moyen le plus rapide de localiser la position d'un élément dans cette séquence. Vous trouverez ci-dessous un guide étape par étape, complet avec extraits de code et techniques alternatives pour récupérer les indices, même quand un élément apparaît plusieurs fois.

Comprendre list.index()

La méthode list.index() retourne l'index le plus bas où une valeur spécifiée apparaît. Si la valeur n'est pas présente, elle lève une ValueError. Pour référence, voir la documentation Python officielle.

Syntaxe

list.index(element, start=0, end=len(list))

Paramètres

ParamètreDescription
elementLa valeur que vous voulez localiser.
startOptionnel. Commencer la recherche à cet index. Défaut 0.
endOptionnel. Arrêter la recherche avant cet index. Défaut longueur de la liste.

Valeur de Retour

Retourne l'index entier du premier élément correspondant. Lève ValueError si l'élément est absent.

Exemple : Utilisation de Base

my_list = ['A', 'B', 'C', 'D', 'E', 'F']
print("Index de 'C' :", my_list.index('C')) # 2
print("Index de 'F' :", my_list.index('F')) # 5

Exemple : Utilisation de start et end

my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
print("Index de 'C' entre 1 et 5 :", my_list.index('C', 1, 5)) # 2
print("Index de 'F' entre 3 et 7 :", my_list.index('F', 3, 7)) # 5
print("Index de 'D' à partir de 1 :", my_list.index('D', 1)) # 3

Exemple : Élément Non Trouvé

my_list = ['A', 'B', 'C', 'D']
try:
    my_list.index('Z')
except ValueError as e:
    print(e) # 'Z' is not in list

Récupérer Tous les Indices pour un Élément Répété

Quand une valeur apparaît plusieurs fois, list.index() ne retourne que la première position. Voici plusieurs approches pour capturer chaque index.

Utilisation d'une Boucle For

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
indices = []
for i, val in enumerate(my_list):
    if val == 'Guru':
        indices.append(i)
print(indices) # [0, 3, 6]

Utilisation d'une Boucle While avec index()

my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
indices = []
next_index = -1
while True:
    try:
        next_index = my_list.index('Guru', next_index + 1)
        indices.append(next_index)
    except ValueError:
        break
print(indices) # [0, 3, 6]

Compréhension de Liste

indices = [i for i, val in enumerate(my_list) if val == 'Guru']
print(indices) # [0, 3, 6]

Utilisation d'enumerate()

indices = [i for i, val in enumerate(my_list) if val == 'Guru']
print(indices) # [0, 3, 6]

Utilisation de filter()

indices = list(filter(lambda i: my_list[i] == 'Guru', range(len(my_list))))
print(indices) # [0, 3, 6]

Techniques Avancées

NumPy pour Grands Jeux de Données

Quand on travaille avec des données numériques ou textuelles volumineuses, convertir la liste en tableau NumPy peut accélérer les recherches.

pip install numpy
import numpy as np
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']
array = np.array(my_list)
indices = np.where(array == 'Guru')[0]
print(indices) # [0 3 6]

more_itertools.locate()

Pour une approche fonctionnelle propre, more_itertools.locate() retourne un itérateur d'indices satisfaisant un prédicat.

pip install more_itertools
from more_itertools import locate
indices = list(locate(my_list, lambda x: x == 'Guru'))
print(indices) # [0, 3, 6]

Points Clés à Retenir

Python

  1. Maîtriser la méthode strip() de Python : Guide complet et exemples pratiques
  2. Maîtriser str.count() de Python : Compter caractères et sous-chaînes avec exemples
  3. Fonction Python round() expliquée avec exemples pratiques
  4. Maîtriser la fonction Python map() : syntaxe, exemples et bonnes pratiques
  5. Python timeit() : mesurer le temps d'exécution avec exemples pratiques
  6. Python Counter dans collections : comptage efficace, mise à jour et opérations arithmétiques
  7. Python list.count() : Guide Expert avec Exemples Pratiques
  8. Comment Supprimer les Éléments Dupliqués d'une Liste Python
  9. Comment Supprimer des Éléments d'une Liste Python : remove(), pop(), clear() et del