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 :
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
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
 
liste = [45,2,89,14,2,3,7,8,56,89]
print(liste.index(max(liste)),"-", max(liste))
2 - 89