PythonFonctions intégrées
filter()
Renvoie un itérateur des éléments pour lesquels une fonction renvoie une valeur vraie.
- Renvoie
- Un itérateur des éléments qui ont passé le test.
Exemple
#Python
scores = [45, 82, 67, 91, 30]
passed = list(filter(lambda s: s >= 60, scores))
print(passed)
values = ["Léa", "", None, "Lucas", 0]
print(list(filter(None, values)))Résultatrésultat enregistré, vous pouvez le vérifier
[82, 67, 91]
['Léa', 'Lucas']
Définition et utilisation
#La fonction filter(function, iterable) ne laisse passer que les éléments pour lesquels la fonction renvoie une valeur vraie. Le résultat est un itérateur, généralement converti en liste.
Si vous donnez None à la place d’une fonction, filter supprime toutes les valeurs fausses : les zéros, les chaînes vides, None et les collections vides.
Comme pour map, une liste en compréhension avec if est souvent plus lisible : [x for x in items if x > 0].
Syntaxe
#Syntaxe
filter(function, iterable)Paramètres
#function
callable ou None
La fonction de test, ouNone.iterable
une collection
Les éléments à filtrer.
Bonnes pratiques
#filter(None, items)est un moyen rapide de supprimer les valeurs vides.- Pour des conditions complexes, une liste en compréhension est plus lisible que
filteravec une lambda.
Entrées associées
#Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.