filter ( )
DESCRIPTION.
Construit et retourne un itérable, à partir des éléments d'un objet collection, qui sont filtrés (testés) par une fonction externe.
SYNTAXE.
Variable = filter ( fonction , iterable )
Variable = ⇨ variable qui recevra l'objet itérable [ optionnel ]
filter ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
fonction ⇨ fonction à appeler [ OBLIGATOIRE ]
iterable ⇨ collection d'éléments à tester [ OBLIGATOIRE ]
REMARQUES.
fonction peut être une méthode built-in de Python, d'un module de la bibliothèque standard ou autre, une fonction définie dans le script (def) ou une fonction anonyme (lambda), mais elle doit pouvoir retourner (return) la valeur True ou False, entre autres, la méthode filter ( ).
iterable doit être un objet collection valide tel que : list ( ), tuple ( ), str ( ), bytes ( ) ...
filter ( ) est devenue peu utilisée depuis l'apparition des compréhensions de listes, plus simple et intuitives. Voir la fonction list ( ) pour plus de détails sur les compréhensions de listes.
filter ( ) s'utilisait, le plus souvent, en association avec la fonction map ( ) et .reduce ( ) du module functools.
filter ( ) exécute fonction en lui passant chaque éléments de itérable comme attribut. Si fonction retourne True, l'élément est ajouté à la l'objet filtrée, sinon il est rejeté. filter ( ) ne modifie pas iterateur, mais créé un nouvel objet itérable, qui pourra être utilisé pour créer un objet collection, de type list ( ), tuple ( ), dict ( ), ... ou directement dans une boucle for.
Tout élément de iterable filtré, utilisé, ne peut plus être appelé, il est retiré de la collection. Quand iterable a été entièrement parcouru, il retourne un collection vide.
EXEMPLES.
Comparaison = "Tous est objet pour Python"
Phrase = "Bienvenue dans mon Python facile !"
Tous = filter ( lambda klettre : klettre in Comparaison , Phrase )
LST_Tous = list ( Tous )
print ( Tous ) retourne <filter object at 0xb504adb0>
print ( LST_Tous ) retourne ['e', 'n', 'e', 'n', 'u', 'e', ' ', 'n', 's', ' ', 'o', 'n', ' ', 'P', 'y', 't', 'h', 'o', 'n', ' ', 'e', ' ']
LST_Tous = list ( filter ( lambda klettre : klettre in Comparaison , Phrase ) ) correspond maintenant à :
LST_Tous = [ klettre for klettre in Phrase if klettre in Comparaison ]
LST_Consonnes = [ ]
Comparaison = "Tous est objet pour Python"
Phrase = "Bienvenue dans mon Python facile !"
Tous = filter ( lambda klettre : klettre in Comparaison , Phrase )
for kelement in Tous :
if kelement not in "aeiou " and kelement not in LST_Consonnes :
LST_Consonnes.append ( kelement )
print ( LST_Consonnes ) retourne ['n', 's', 'P', 'y', 't', 'h']
print ( list ( Tous ) ) retourne []
Tous a été entièrement parcouru, ces éléments ont été utilisés, de Tous est maintenant vide.
LST_Point = list ( filter ( lambda knombre : knombre % 4 == 0 , range ( -25 , 25 , 3 ) ) )
print ( LST_Point ) "Bienvenue dans mon Python facile !"
équivaut à :
def FNC_Valide ( Q ) :
return Q % 4 == 0
LST_Point = list ( filter ( FNC_Valide , range ( -25 , 25 , 3 ) ) )
print ( LST_Point ) retourne [-16, -4, 8, 20]
et maintenant à :
LST_Point = [ kvaleur for kvaleur in range ( -25 , 25 , 3 ) if kvaleur % 4 == 0 ]
print ( LST_Point ) retourne [-16, -4, 8, 20]
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de
Dans la LOGITHEQUE de MON PYTHON PAS A PAS
vous trouvez des suggestions de projets simples et classiques pour
ooo
TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER
ooo
la programmation récréative avec le langage PYTHON 3
avec un exemple de résolution à télécharger pour vous inspirer.