Fonction filter pour filtrer les objets en Python
Étudions maintenant la fonction filter.
Elle permet de filtrer les éléments des listes
et d'autres objets itérables selon une certaine
condition. Son premier paramètre est une
fonction qui définit la condition à vérifier.
Le second paramètre spécifie la liste
dont les éléments seront filtrés.
Si la fonction renvoie True, alors
l'élément est conservé dans la nouvelle liste. Si
elle renvoie False, alors l'élément ne
fera pas partie de la liste.
Supposons que nous ayons une liste :
lst = [1, 2, 3, 4, 5, 6]
Laissons-y uniquement les nombres pairs.
Pour cela, en utilisant une fonction lambda, spécifions
que le nombre passé en paramètre
doit être divisible par 2 sans reste :
res = filter(lambda num: num % 2 == 0, lst)
print(list(res))
Après l'exécution du code, une nouvelle liste est renvoyée :
[2, 4, 6]
Une liste de nombres est donnée :
lst = [1, 2, 3, 4, 5]
Enregistrez dans une nouvelle liste uniquement les nombres impairs de cette liste.
Une liste de chaînes de caractères est donnée :
lst = ['abcd', 'ab', 'c', 'de', 'bc']
Enregistrez dans une nouvelle liste uniquement les chaînes
dont la longueur est égale à 2.