0
votes

Trouver une valeur maximale et son index dans une liste - Continuez à obtenir le mauvais index

Je ne sais pas pourquoi je reçois la mauvaise sortie.

Mon code: P>

5


0 commentaires

4 Réponses :


1
votes

Voici à sens unique en utilisant l'intégré max code > fonction avec une clé code> pour filtrer le $ code> et jeter sur float code> avant de commander:

costList.index(mx)
 # 5


1 commentaires

J'ai oublié de convertir des cordes à flotteur - TY!



1
votes

Les valeurs de la liste sont des chaînes. Vous devez les convertir en float

cost_list=[float(entry[1:]) for entry in cost_list]


1 commentaires

J'ai oublié de convertir des cordes à flotteur - TY!



0
votes

Le problème est que chaque élément est une chaîne. Prenez le deuxième élément (SLICE 1: code>) vers l'avant et le convertissez-le en un flotteur, de sorte que: xxx pré>

maintenant, max (float_list) code> Travailler comme prévu. p>

Vous pouvez trouver son index à l'aide de l'index index () code> Fonction: p>

index(max(float_list))


0 commentaires

0
votes

max trie actuellement vos valeurs comme Strings code> afin de trouver la valeur la plus élevée, nous devons les convertir en float code>. Voici comment vous pouvez faire cela simplement en utilisant max () code> .

costList = ['$3.38', '$3.25', '$6.00', '$3.50', '$1.50', '$558.45',
            '$0.50', '$9.50', '$0.48', '$0.85', '$0.65', '$0.26', '$1.65', '$3.50']

max_value_index = max(range(len(costList)), key=lambda x: float(costList[x][1:]))
print(max_value_index) # -> 5


0 commentaires