Trouver premier et le dernier indice de la valeur dans une liste en Python
Est-il intégré dans les méthodes qui font partie des listes qui me donnerait le premier et le dernier indice d'une certaine valeur, comme:
verts.IndexOf(12.345)
verts.LastIndexOf(12.345)
- Peut-être que vous devriez lire sur les listes en Python docs: docs.python.org/library/stdtypes.html#mutable-sequence-types. Je pense que ce sera beaucoup plus rapide que de poser beaucoup de questions.
- Je lis trop, mais ne connaissant rien au sujet python rend les choses plus difficile. Je trouve que sa syntaxe très cryptique.
- Si vos listes sont triées, alors vous pourriez vouloir vérifier la traversent, module <docs.python.org/3/library/bisect.html>.
- Voir la brillante réponse par Dikei ici en utilisant les fonctions intégrées énumérer et inversée: stackoverflow.com/questions/9836425/...
InformationsquelleAutor Joan Venge | 2009-02-06
Vous devez vous connecter pour publier un commentaire.
Séquences ont une méthode
index(value)
qui retourne l'indice de la première occurrence - dans votre cas, ce seraitverts.index(value)
.Vous pouvez l'exécuter sur
verts[::-1]
pour trouver le dernier indice. Ici, ce seraitlen(verts) - 1 - verts[::-1].index(value)
Utilisation
i1 = yourlist.index(yourvalue)
eti2 = yourlist.rindex(yourvalue).
rindex
, mais la liste ne pas.Si vous êtes à la recherche pour l'indice de la dernière occurrence de
myvalue
dansmylist
:ValueError
simyvalue
n'est pas présent dansmylist
.Comme une petite fonction d'assistance:
Cette méthode peut être plus optimisé que ci-dessus
Python pour les listes de la
index()
méthode, que vous pouvez utiliser pour trouver la position de la première occurrence d'un élément dans la liste. Notez quelist.index()
soulèveValueError
lorsque la valeur n'est pas trouvée dans la liste, de sorte que vous pouvez l'envelopper danstry
/except
:Pour trouver la position de la dernier occurrence d'un élément dans la liste de manière efficace, vous pouvez utiliser cette fonction: