Exercices Fonctions & Modules Filtrer les nombres positifs
🎉

Bravo!

Débutant 🧠 Fondamentaux 10 XP 0 personnes ont réussi

Filtrer les nombres positifs

En Python, filter() est une fonction qui prend deux arguments : une fonction de test et un itérable (comme une liste). Elle renvoie un nouvel itérable contenant uniquement les éléments pour lesquels la fonction de test renvoie True.

C'est comme un tamis : tu verses toute ta liste dedans, et seuls les éléments qui passent le test ressortent de l'autre côté.

La syntaxe est :
filter(fonction_de_test, iterable)

Par exemple, pour garder uniquement les nombres pairs d'une liste :
list(filter(lambda x: x % 2 == 0, [1, 2, 3, 4]))
donne [2, 4]

Attention : filter() renvoie un objet filter, pas directement une liste. Il faut le convertir avec list() pour obtenir une vraie liste.

Une lambda, c'est une mini-fonction anonyme écrite en une ligne. La syntaxe est :
lambda paramètre: expression

Par exemple, lambda x: x > 0 est une fonction qui renvoie True si x est positif.

Écris une fonction positifs(nombres) qui utilise filter() avec une lambda pour renvoyer uniquement les nombres strictement positifs de la liste.

Exemple :
positifs([3, -1, 4, -5, 0, 2]) renvoie [3, 4, 2]
positifs([-1, -2]) renvoie []

Tests (3/4)

Cas mixte
assert positifs([3, -1, 4, -5, 0, 2]) == [3, 4, 2]
Tous negatifs
assert positifs([-1, -2, -3]) == []
Liste vide
assert positifs([]) == []

+ 0 tests cachés

Indices (3 disponibles)

solution.py