Trouver l’indice, pas seulement la valeur
Suivre les positions avec enumerate
Trouver l’indice, pas seulement la valeur est une leçon Coding Interview Prep gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Coding Interview Prep, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Coding Interview Prep comprend 4 leçons au total.
Les positions sont importantes
Souvent, la réponse n’est pas la valeur, mais l’endroit où elle se trouve. Les problèmes de concours demandent fréquemment un indice commençant à 1 ou à 0 ; vous devez donc suivre les positions.
a = [4, 1, 7, 3]Trouver avec .index()
a.index(x) renvoie la position de la première correspondance. C’est rapide à écrire, mais la recherche parcourt les éléments de gauche à droite en O(n).
pos = a.index(7) # 2Les valeurs absentes provoquent des erreurs
Si la valeur est absente, .index() déclenche une ValueError, c’est-à-dire une erreur à l’exécution. Vérifiez d’abord l’appartenance lorsque vous avez un doute.
if x in a:
pos = a.index(x)Boucler avec enumerate
enumerate vous fournit simultanément l’indice et la valeur à chaque étape : c’est la manière claire de suivre les positions pendant le parcours.
for i, v in enumerate(a):
print(i, v)Commencer enumerate à un
De nombreux juges attendent des positions commençant à 1. Transmettez start=1 à enumerate afin que le premier indice soit 1, conformément à l’énoncé.
for i, v in enumerate(a, start=1):
...Indice du maximum
Pour trouver où se situe le maximum, parcourez le tableau et mémorisez le meilleur indice, car max(a) seul ne fournit que la valeur.
best = 0
for i, v in enumerate(a):
if v > a[best]:
best = iUn argmax élégant
Une astuce compacte consiste à associer chaque indice à sa valeur, puis à prendre le maximum selon la valeur. L’intervalle fournit directement la position.
best = max(range(len(a)), key=lambda i: a[i])Collecter tous les indices correspondants
Vous avez besoin de chaque position d’une valeur ? Une compréhension appliquée à enumerate rassemble toutes les correspondances en une ligne.
idx = [i for i, v in enumerate(a) if v == 7]Associer une valeur à un indice
Pour effectuer des recherches répétées, construisez une table de correspondance entre les valeurs et les indices une seule fois ; chaque recherche suivante devient alors un accès en O(1).
where = {v: i for i, v in enumerate(a)}Les doublons nécessitent de l’attention
Un dict associant une valeur à un indice ne conserve que la dernière occurrence. Utilisez une liste par clé, ou enumerate, lorsque les doublons sont importants.
where = {}
for i, v in enumerate(a):
where.setdefault(v, []).append(i)Convertir entre bases d’indices
Faites attention à la base : si vous avez mémorisé des indices commençant à 0 mais devez afficher des indices commençant à 1, ajoutez un. Mélanger les bases est un piège qui produit silencieusement une mauvaise réponse.
print(pos + 1) # 0-based to 1-basedVérification rapide
Vous voulez des positions commençant à 1 pendant le parcours. Qu’écrivez-vous ?
Récapitulatif : suivre les positions
Vous pouvez maintenant trouver un indice unique, l’indice du maximum ou tous les indices, et associer des valeurs à des positions en toute sécurité. enumerate est votre outil fiable pour suivre les positions. 🎯
Questions Fréquemment Posées
La leçon « Trouver l’indice, pas seulement la valeur » est-elle gratuite ?
Oui — le texte complet de « Trouver l’indice, pas seulement la valeur » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Coding Interview Prep, passe à CoddyKit PRO. Le cours Coding Interview Prep comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Trouver l’indice, pas seulement la valeur » ?
Suivre les positions avec enumerate Tu pratiques Coding Interview Prep avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Coding Interview Prep ?
Aucune expérience préalable n'est requise. Coding Interview Prep sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Trouver l’indice, pas seulement la valeur » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Coding Interview Prep ?
Oui. Chaque leçon Coding Interview Prep inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Listes, indexation et tranches pour CP
- Construire rapidement des tableaux avec les compréhensions
- Min, max, somme et totaux cumulés
- Trouver l’indice, pas seulement la valeur