[PYTHON] Récupérer position dans liste [Résolu/Fermé]

Signaler
-
 grossetchoinquiaimelesgrospython -
Bonjour,

J'aimerai savoir comment récupérer la position d'un élément dans une liste avec Python ?

Par exemple, si j'ai une liste ['lundi', 'mardi', 'mercredi'], je voudrais lui demander : donne-moi la position de mardi dans la liste (et logiquement, il devrait me retourner 1).
Comment donc coder ceci ?

Merci d'avance.

5 réponses

Messages postés
3
Date d'inscription
lundi 31 août 2009
Statut
Membre
Dernière intervention
20 décembre 2010
57
liste = ['lundi','mardi','mercredi']

liste.index('mardi')
>>> 1

attention => provoque une erreur si l'element n'est pas present dans la liste
74
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci


cimer le bro
Tu peux faire :

joursemaine.index('mardi') 

qui retournera 1
(cf. http://diveintopython.adrahon.org/native_data_types/lists.html#d0e6152 )
qui est la version la plus élégante.

Après, d'une manière générale, on peut toujours utiliser des trucs bourrins. Si tu devais parcourir une liste avec plusieurs fois le même élément, cette méthode ne te donnerai que le premier, et il faudrait songer à utiliser la méthode enumerate() lors de ton parcours de liste pour récupérer à la fois l'élément et l'index.

for index,jour in enumerate(joursemaine):
    print index,jour

(cf. https://docs.python.org/3/tutorial/datastructures.html#looping-techniques)
Ou l'on peut tout simplement faire ceci :

for index, jour in enumerate(liste):
    print "l'index ", index, " a pour jour ", jour

s=['lundi','mardi','mercredi','jeudi','vendredi','samedi','dimanche']
for i in range(0,len(s)):
if s[i]=='mardi':
print(i)
Je pense que comment ca ce devrai fonctionner:

joursemaine = ['lundi','mardi','mercredi','jeudi','vendredi','samedi','dimanche']

joursemaine[0] donne lundi
joursemaine[3] donne jeudi
....
Voilà!
Ce n'est pas dans ce sens que je le veux... évidemment si on donne un indice il retourne le jour qui correspond. Mais je voudrai faire l'inverse, demander le jour et il me retourne l'indice... chaud hein? ^^

Merci.