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 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