Partage
  • Partager sur Facebook
  • Partager sur Twitter

Trouver la plus petite valeur dans un dictionnaire

python

2 décembre 2020 à 16:34:22

Bonjour, je voudrais savoir comment je récupère la clé avec la plus petite valeur, correspondant au premier élément du tuple. Pour mon cas, je voudrais savoir comment récupérer la clé 'C' dans le  dictionnaire b ci dessous:
b = {'A':(9, None), 'B':(5, 'A'), 'C':(3, 'A')}
  • Partager sur Facebook
  • Partager sur Twitter
2 décembre 2020 à 17:38:03

Voilà:
b = {'A':(9, None), 'B':(5, 'A'), 'C':(3, 'A')}
m = min([(k,v) for k,v in b.items()], key=lambda t: t[1][0])
print(m)
Le truc est que min() accepte une clé de comparaison.
  • Partager sur Facebook
  • Partager sur Twitter

Le Tout est souvent plus grand que la somme de ses parties.

2 décembre 2020 à 18:24:47

PierrotLeFou a écrit:


m = min([(k,v) for k,v in b.items()], key=lambda t: t[1][0])

Ou tout simplement 

m = min(b.items(), key=lambda t: t[1][0])



  • Partager sur Facebook
  • Partager sur Twitter
2 décembre 2020 à 21:08:21

Ça dépend s'il veut seulement les valeurs ou la clé également.
Ça ressemble presque à un graphe.
  • Partager sur Facebook
  • Partager sur Twitter

Le Tout est souvent plus grand que la somme de ses parties.

2 décembre 2020 à 21:24:15

PierrotLeFou a écrit:

Ça dépend s'il veut seulement les valeurs ou la clé également.
Ça ressemble presque à un graphe.


??

Pourquoi construire une liste ? La fonction standard min peut travailler avec tout itérateur.

  • Partager sur Facebook
  • Partager sur Twitter
3 décembre 2020 à 2:48:59

Bien compris.
En espérant que ce sera utile au PO.
  • Partager sur Facebook
  • Partager sur Twitter

Le Tout est souvent plus grand que la somme de ses parties.

4 décembre 2020 à 9:32:55

PierrotLeFou a écrit: > Ça dépend s'il veut seulement les valeurs ou la clé également.

Par défaut il aura la clé et la valeur. S'il n'est pas intéressé par la valeur, il l'ignorera.

  • Partager sur Facebook
  • Partager sur Twitter
4 décembre 2020 à 17:31:27

C'est donc au PO de nous préciser ce qu'il veut. On tombe encore dans la spéculation.
  • Partager sur Facebook
  • Partager sur Twitter

Le Tout est souvent plus grand que la somme de ses parties.

4 décembre 2020 à 18:55:39

Ben non, la solution répond à son besoin, après il en fait ce qu'il en veut.

  • Partager sur Facebook
  • Partager sur Twitter