153 votes

Dans Liste des dicts, recherchez la valeur min() d’un champ Dict commun

J’ai une liste de dictionnaires comme ça:

Je veux trouver le et les prix. Maintenant, je peux trier cela assez facilement en utilisant une clé avec une expression lambda (comme trouvé dans un autre article SO), donc s’il n’y a pas d’autre moyen, je ne suis pas coincé. Cependant, d’après ce que j’ai vu, il y a presque toujours un moyen direct en Python, c’est donc l’occasion pour moi d’en apprendre un peu plus.

386voto

Hugh Bothwell Points 22635
<pre><code></code><p>Cela vous indique non seulement quel est le prix maximum, mais aussi quel article est le plus cher.</p></pre>

75voto

dappawit Points 3782

Il y a plusieurs options. En voici un simple :

[Modifier]

Si vous ne souhaitez parcourir la liste qu’une seule fois, vous pouvez essayer ceci (en supposant que les valeurs peuvent être représentées par `` s) :

56voto

dcrosta Points 11219

Je pense que l’expression la plus directe (et la plus pythonique) serait quelque chose comme:

Cela évite la surcharge de tri de la liste -- et, en utilisant une expression de générateur, au lieu d’une compréhension de liste -- évite en fait de créer des listes, ainsi. Efficace, direct, lisible... Pythonique !

15voto

rlibby Points 4061

Une réponse serait de mapper vos dicts à la valeur d’intérêt à l’intérieur d’une expression de générateur, puis d’appliquer les éléments intégrés et .

5voto

carton.swing Points 461

peut également utiliser ceci:

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X