Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Fonction Filter en Action | Fonctions d'ordre supérieur et lambdas
Concepts de Programmation Fonctionnelle en Python
Section 2. Chapitre 3
single

single

bookFonction Filter en Action

Glissez pour afficher le menu

Vous avez déjà vu comment les fonctions d'ordre supérieur comme map permettent d'appliquer une fonction à chaque élément d'une séquence. Une autre fonction d'ordre supérieur essentielle en Python est filter.

La fonction filter est utilisée pour sélectionner des éléments d'une séquence en fonction du fait qu'ils satisfont ou non à une certaine condition. Elle prend deux arguments : une fonction qui retourne True ou False pour chaque élément, et la séquence à filtrer. Le résultat est un itérateur contenant uniquement les éléments pour lesquels la fonction retourne True. Cela rend filter particulièrement utile lorsque vous souhaitez extraire des éléments spécifiques d'une liste, d'un tuple ou d'un autre itérable selon un critère, comme les nombres pairs, les valeurs positives ou les chaînes d'une certaine longueur.

123456
def is_even(n): return n % 2 == 0 numbers = [1, 2, 3, 4, 5, 6] even_numbers = list(filter(is_even, numbers)) print(even_numbers)
copy

Ce code utilise la fonction filter() pour créer une nouvelle liste contenant uniquement les entiers pairs à partir d'une collection existante. Il fonctionne en définissant une fonction prédicat, is_even(n). La fonction filter parcourt la liste numbers, applique ce test à chaque élément et écarte ceux qui ne remplissent pas la condition. Enfin, l'objet filter obtenu est reconverti en liste, produisant ainsi le résultat.

Note
Remarque

Lorsque vous utilisez la fonction filter, elle retourne un objet filter, qui est un itérateur — et non une liste. Si vous affichez directement le résultat de filter, vous verrez une sortie similaire à :

<filter object at 0xfffec885eb30>

Pour accéder aux valeurs filtrées sous forme de liste, il faut convertir l'objet filter à l'aide de list().

Tâche

Glissez pour commencer à coder

Vous allez utiliser la fonction filter pour sélectionner les nombres positifs d'une liste.

  • La fonction is_positive doit retourner True si l'argument est supérieur à zéro, et False sinon.
  • La fonction filter_positive doit utiliser la fonction filter avec is_positive pour créer une nouvelle liste contenant uniquement les nombres positifs de la liste d'entrée.
  • La fonction doit retourner cette nouvelle liste.
  • N'oubliez pas de supprimer pass.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 3
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

some-alt