Le filtre est une fonction Python intégrée. Il filtre la séquence ou l'itérable spécifié via une fonction qui vérifie que chaque élément ou élément de l'itérable est vrai ou faux. Pour faire simple, la fonction filter filtre l'itérable à travers une fonction. La fonction donnée teste chaque élément de la séquence ou de l'itérable et renvoie la valeur true si l'élément satisfait aux critères donnés. En conséquence, la fonction filter() construit un nouvel itérateur. Les itérables les plus couramment utilisés sont les listes, les tuples et les dictionnaires. Cet article décrit brièvement la fonction filter() à l'aide d'exemples.
Syntaxe de la fonction filter()
Discutons d'abord de la syntaxe de la fonction filter(). La syntaxe de la fonction filter() est la suivante :
filet(fonction, itérable ou séquence)La fonction filter prend deux paramètres en argument, i.e., fonction et un itérable. La fonction vérifie chaque élément ou élément de l'itérable, s'il est vrai ou non, selon des critères donnés. Le deuxième argument est itérable ou séquence à filtrer. La fonction évalue chaque élément de l'itérable sur les critères donnés. Enfin, la fonction filter() renvoie l'itérateur filtré.
Voyons les exemples de la fonction filter() et implémentons-la dans notre script Python. Nous utilisons un éditeur spyder3 pour créer et exécuter les scripts Python.
Exemple 1 : Filtrer la liste des numéros
Créons la liste des nombres et filtrons-la. Dans l'exemple donné, la list_func() évalue chaque élément de la liste sur une condition donnée. Si l'élément de la liste est supérieur à 5, la fonction renvoie true et ajoute l'élément au filtre.
#créer une liste de nombrema_liste = [1,2,3,4,5,6,10,20,35,8,4,50,60]
#créer une fonction
def list_func(listObj):
# une instruction conditionnelle pour vérifier le nombre
if(listObj>5) :
retourner vrai
autre:
retourner Faux
#utilisation de la fonction filter pour filtrer l'itérable via list_func
nombres = filtre(list_func,my_list)
#impression du nouvel itérateur
pour i en nombre :
imprimer(i)
Production
La sortie affiche l'itérateur filtré. L'itérateur filtré est construit par tous les éléments qui sont supérieurs à 5.
Exemple 2 : Filtrer la liste des caractères
Créons la liste des caractères et appliquons la fonction de filtre.
#créer une liste de nombremy_list = ['a','b','c','l','d','i','k','n','o','u','x']
#créer une fonction
def list_func(listObj):
word_list=['l', 'i', 'n', 'u', 'x']
# une instruction conditionnelle pour vérifier le caractère
if(listObj dans word_list):
retourner vrai
autre:
retourner Faux
#utilisation de la fonction filter pour filtrer l'itérable via list_func
mots = filtre(list_func,my_list)
#impression du nouvel itérateur
pour i en mots :
imprimer(i)
Production
Exemples 3 : filtrer le nombre pair
Filtrons les nombres pairs de la liste de nombres donnée en utilisant la fonction de filtre.
#créer une liste de nombrema_liste = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]
#créer une fonction
def list_func(listObj):
# une instruction conditionnelle pour vérifier le nombre pair
if(listObj%2==0) :
retourner vrai
autre:
retourner Faux
#utilisation de la fonction filter pour filtrer l'itérable via list_func
even_numbers= filter(list_func,my_list)
#impression du nouvel itérateur
pour i dans even_numbers :
imprimer(i)
Production
Exemples 4 : Filtrer l'année bissextile
Filtrer les années bissextiles de la liste d'années donnée en utilisant la fonction de filtre.
#créer une liste de nombrema_liste = [2010,2012,2014,2016,2018,2020,2022,2024]
#créer une fonction
def list_func(listObj):
# une déclaration conditionnelle pour vérifier l'année bissextile
if(listObj%4==0) :
retourner vrai
autre:
retourner Faux
#utilisation de la fonction filter pour filtrer l'itérable via list_func
bissextile = filtre(list_func,my_list)
#impression du nouvel itérateur
pour moi l'année bissextile :
imprimer(i)
Production
La sortie affiche les années bissextiles de la liste d'années donnée.
Exemples 5 : utilisation de la fonction lambda avec filter()
La fonction de filtre est principalement utilisée avec la fonction lambda. Passons la fonction lambda en argument à la fonction filter().
#créer une liste de nombrema_liste = [2010,2012,2014,2016,2018,2020,2022,2024]
#déclarer une variable even_number
La variable #even_number contient les nombres pairs
#utilisation de la fonction lambda
even_number = filter(lambda listObj:listObj%2==0,my_list)
print("La liste des nombres pairs")
pour i dans even_number :
imprimer(i)
année bissextile = filtre(lambda listObj:listObj%4==0,my_list)
print("La liste des années bissextiles")
pour x dans l'année bissextile :
imprimer(x)
Production
Conclusion
Le filter() est une fonction Python intégrée qui est utilisée pour filtrer l'itérable sur une fonction donnée. Cet article explique la fonction filter() avec des exemples.