Fonction intégrée Python filter()
À partir de la documentation Python 3
Construit un itérateur à partir des éléments de l'itérable pour lesquels la fonction renvoie `True`. L'itérable peut être une séquence, un conteneur qui prend en charge l'itération, ou un itérateur. Si la fonction est `None`, la fonction identité est supposée, c'est-à-dire que tous les éléments de l'itérable qui sont faux sont supprimés.
Introduction
La fonction filter() en Python est une fonction intégrée qui vous permet de traiter un itérable et d’en extraire les éléments qui satisfont une certaine condition. Elle renvoie un itérateur contenant les éléments qui répondent aux critères.
Syntaxe
filter(function, iterable)
- function: La fonction à exécuter pour chaque élément de l’itérable. Elle doit renvoyer
TrueouFalsepour chaque élément. - iterable: L’itérable à filtrer, tel qu’une liste, un tuple ou une chaîne de caractères.
Description
La fonction filter() construit un itérateur à partir des éléments de l’itérable pour lesquels la fonction renvoie True. Si la fonction est None, elle supprime tous les éléments de l’itérable qui sont faux.
Exemple
def is_even(num):
return num % 2 == 0
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(is_even, numbers))
print(even_numbers)
[2, 4, 6]
Dans cet exemple, la fonction is_even est définie pour déterminer si un nombre est pair ou non. La méthode filter prend deux arguments : le premier argument est la fonction à appliquer à chaque élément de la liste, et le deuxième argument est la liste à filtrer. La méthode filter renvoie un itérateur, qui est ensuite converti en liste et stocké dans la variable even_numbers. Le résultat final est la liste des nombres pairs extraits de la liste d’origine.
Liens pertinents
- map(): Applique une fonction à chaque élément d’un itérable et renvoie un itérateur des résultats.
- iter(): Renvoie un objet itérateur.
- List Comprehensions: Une manière concise de créer des listes, souvent utilisée comme alternative à
filter(). - Comprehensions
- Functions
- reduce()