Leçon 9 / 9 — Chapitre 3: Compréhensions et tri de données
Cas pratique : filtrer et trier un petit catalogue
Cette dernière leçon combine compréhension avec condition, sorted() avec key= et max() avec key=, sur un catalogue de produits.
catalogue = [
{"nom": "riz", "prix": 5, "stock": 20},
{"nom": "huile", "prix": 8, "stock": 0},
{"nom": "sucre", "prix": 3, "stock": 15},
{"nom": "farine", "prix": 4, "stock": 10},
]
disponibles = [p for p in catalogue if p["stock"] > 0]
disponibles_tries = sorted(disponibles, key=lambda p: p["prix"])
plus_cher_disponible = max(disponibles, key=lambda p: p["prix"])
for produit in disponibles_tries:
print(produit["nom"], ":", produit["prix"], "$")
print("Le plus cher disponible est :", plus_cher_disponible["nom"])
Ce que fait chaque partie :
disponiblesfiltre le catalogue avec une compréhension : seuls les produits avecstock > 0sont gardes (comme dans la leçon sur le filtre), donc"huile"est exclue.disponibles_triestrie cette liste filtrée par prix croissant avecsorted(key=...).plus_cher_disponibleretrouve directement le produit disponible le plus cher avecmax(key=...), sans repasser par la liste triée.
Avec ce catalogue, l'affichage est sucre : 3 $, farine : 4 $, riz : 5 $, puis Le plus cher disponible est : riz — "huile" n'apparait dans aucune des deux lignes, car elle est en rupture de stock.
A vous de jouer : ajoutez un cinquième produit disponible et plus cher que tous les autres, et vérifiez qu'il devient bien le nouveau plus_cher_disponible.
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