bonjour
j'ai des données de ce type
tab2 [(1.0, 0), (0.23708331625035484, 1), (0.18343018815345746, 2), (0.16703338552065583, 3)]
comment obtenir le max de tab2 et l'indice correspondant c'est a dire 1 et 0
bonjour
j'ai des données de ce type
tab2 [(1.0, 0), (0.23708331625035484, 1), (0.18343018815345746, 2), (0.16703338552065583, 3)]
comment obtenir le max de tab2 et l'indice correspondant c'est a dire 1 et 0
Salut.
La function "max()" de base de python a plusieurs arguments. Tout comme la function "sort()" on peut lui passer un critère pour determiner quelle est la valeur max sous la forme d'une fonction. Pour récupérer le couple le plus grand de la liste basé sur la valeur du premier nombre de chaque couple on peut faire quelque chose comme ceci:
Ici on on dit à la function max() de regarder uniquement la première valeur de chaque couple (x) et donc de determiner le max sur cette valeur uniquement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 tab2 = [(1.0, 0), (0.23708331625035484, 1), (0.18343018815345746, 2), (0.16703338552065583, 3)] max_tuple = max(tab2, key=lambda x: x[0]) print(max_tuple) >>> (1.0, 0)
Pour récupérer l'indice de ce couple il suffit d'utiliser la method index() des listes:
Voilà
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 print(tab2.index(max_tuple)) >>> 0
merci
max_tuple = max(tab2, key=lambda x: x[0]) marche bien
par contre si j'ai
tab2 [(0.0069292694612682615, 1), (0.0036910345729846972, 2), (0.0026851198246516939, 3)]
je recupere bien (0.0069292694612682615, 1)
mais print(tab2.index(max_tuple)) donne 0
je devrai avoir 1
max_tuple[1] renvoie l'indice
c'est ok
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager