Exercices Algorithmes Recherche avec condition — filtre et tri
🎉

Bravo!

Avancé 🧠 Fondamentaux 30 XP 0 personnes ont réussi

Recherche avec condition — filtre et tri

Dans la vraie vie, on cherche rarement un élément exact. On veut plutot les N meilleurs éléments qui satisfont une condition.

Par exemple : les 3 meilleurs scores parmi les joueurs actifs, ou les 5 produits les plus chers dans une catégorie donnee.

Pour faire ca, on enchaine trois opérations :
1. Filtrer : garder seulement les éléments qui satisfont la condition
2. Trier : les classer par ordre decroissant
3. Couper : ne garder que les N premiers

La beaute de Python, c'est que chaque étape tient en une ligne grace aux comprehensions et a sorted.

Écris une fonction recherche_top_n(lst, n, condition) ou condition est une fonction qui prend un élément et retourne True ou False.

Exemple :
recherche_top_n([5, 8, 2, 9, 4, 7, 6], 3, lambda x: x % 2 == 0)
renvoie [8, 6, 4] (les 3 plus grands nombres pairs)

recherche_top_n([3, 9, 1, 7, 5, 8], 2, lambda x: x > 5)
renvoie [9, 8] (les 2 plus grands nombres superieurs a 5)

Tests (3/4)

Top 3 pairs
assert recherche_top_n([5, 8, 2, 9, 4, 7, 6], 3, lambda x: x % 2 == 0) == [8, 6, 4]
Top 2 > 5
assert recherche_top_n([3, 9, 1, 7, 5, 8], 2, lambda x: x > 5) == [9, 8]
Aucun résultat
assert recherche_top_n([1, 3, 5], 2, lambda x: x > 10) == []

+ 0 tests cachés

Indices (3 disponibles)

solution.py