Python

Fonction de filtre Python

Fonction de filtre Python

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 nombre
ma_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 nombre
my_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 nombre
ma_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 nombre
ma_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 nombre
ma_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.

5 meilleurs jeux d'arcade pour Linux
De nos jours, les ordinateurs sont des machines sérieuses utilisées pour les jeux. Si vous ne pouvez pas obtenir le nouveau score élevé, vous saurez c...
Bataille pour Wesnoth 1.13.6 Développement publié
Bataille pour Wesnoth 1.13.6 publiée le mois dernier, est la sixième version de développement de la 1.13.x series et il apporte un certain nombre d'am...
Comment installer League Of Legends sur Ubuntu 14.04
Si vous êtes fan de League of Legends, alors c'est l'occasion pour vous de tester League of Legends. Notez que LOL est pris en charge sur PlayOnLinux ...