Signaler

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

Posez votre question erickvand - Dernière réponse le 21 mars 2017 à 14:40 par m
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.
Utile
+36
plus moins
liste = ['lundi','mardi','mercredi']

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

attention => provoque une erreur si l'element n'est pas present dans la liste
Cette réponse vous a-t-elle aidé ?  
Utile
+9
plus moins
Ou l'on peut tout simplement faire ceci :

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

Utile
+8
plus moins
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. http://docs.python.org/tutorial/datastructures.html#looping-techniques)
Utile
+5
plus moins
s=['lundi','mardi','mercredi','jeudi','vendredi','samedi','dimanche']
for i in range(0,len(s)):
if s[i]=='mardi':
print(i)
Utile
+1
plus moins
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à!
erickvand- 3 juil. 2009 à 17:42
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.

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !