La seconde peut-elle se défendre ?
"Écrivez une fonction en Python qui permette de calculer l’argmax d’une liste, c’est-à-dire l’indice auquel est stockée la
valeur maximale de la liste. Si cette valeur maximale est présente plusieurs fois dans la liste, on retournera l’indice de sa
première occurrence."
1 - Solution du tuto :
2 - Autre solution (en prenant des libertés avec l'énoncé, mais qui affiche l'indice et le max.) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 def argmax(liste): i_max = None # On initialise elem_max à une valeur # qui n'est clairement pas le max if len(liste) > 0: elem_max = liste[0] - 1 for i, elem in enumerate(liste): if elem > elem_max: i_max = i elem_max = elem return i_max print(argmax([45,2,89,14,2,3,7,8,56,89])) 2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 liste = [45,2,89,14,2,3,7,8,56,89] print(liste.index(max(liste)),"-", max(liste)) 2 - 89
Partager