Leçon 8 / 9 — Chapitre 3: Compréhensions et tri de données
min() et max() avec key=
min() et max() acceptent eux aussi un paramètre key=, exactement comme sorted() : au lieu de trier toute la liste, ils renvoient directement l'élément extrême, sans avoir à passer par une liste triée.
produits = [("riz", 5), ("huile", 8), ("sucre", 3)]
moins_cher = min(produits, key=lambda p: p[1])
plus_cher = max(produits, key=lambda p: p[1])
print(moins_cher, plus_cher)
Ce code affiche ("sucre", 3) ("huile", 8). key=lambda p: p[1] indique à min()/max() de comparer les tuples selon leur prix ; chacun renvoie directement l'élément correspondant (le tuple entier), pas seulement le prix.
Utiliser min(produits, key=...) est plus direct que sorted(produits, key=...)[0], et evite de trier toute la liste juste pour en extraire un seul élément — surtout utile sur une liste longue.
plus_cher = sorted(produits, key=lambda p: p[1])[-1]
Cette dernière ligne donne le même résultat que max(produits, key=...), mais en triant inutilement toute la liste : max() est preferable ici.
A vous de jouer : avec une liste de dictionnaires {"produit": ..., "montant": ...}, trouvez celui au montant le plus eleve avec max() et key=.
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 85 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès