PaliSkill
← Python intermédiaire

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 :

  • disponibles filtre le catalogue avec une compréhension : seuls les produits avec stock > 0 sont gardes (comme dans la leçon sur le filtre), donc "huile" est exclue.
  • disponibles_tries trie cette liste filtrée par prix croissant avec sorted(key=...).
  • plus_cher_disponible retrouve directement le produit disponible le plus cher avec max(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 l'attestation finale.

7 500 XOF / 11,43 € / 12,46 $

Débloquez les 92 leçons restantes de ce module

Pour vous communiquer où envoyer le paiement.

Moyen de paiement souhaité

Nous vous contactons pour le paiement — activé dès réception.