La méthode filter() et les fonctions Lambda en Python
Souvent, lorsque nous travaillons avec des structures de données itérables telles que des tableaux, des listes et des tuples, nous devons effectuer des opérations de filtrage sur celles-ci.
Le filtrage fait référence à la suppression des valeurs qui correspondent à une condition particulière. On peut effectuer un filtrage en itérant sur la valeur de la structure de données itérable et la valeur à l’aide d’une boucle for
ou d’une boucle while
et en vérifiant si l’élément satisfait ou non la condition.
Comme il s’agit d’une tâche courante, le langage de programmation Python a une méthode intégrée, filter()
. Cette méthode nécessite une fonction pour effectuer la filtration.
Généralement, les méthodes lambda
sont considérées pour ce travail car elles sont simples à écrire. Cet article montrera comment utiliser la méthode filter()
et les fonctions lambda
ensemble en Python.
La méthode filter()
et les fonctions lambda
en Python
La méthode filter
est une méthode intégrée au langage de programmation Python utilisée pour filtrer les éléments d’un itérable qui remplissent une certaine condition. Une fonction représente la condition, et les valeurs pour lesquelles la fonction renvoie True
sont prises en compte dans le résultat.
Le filter()
accepte deux paramètres ; une fonction de filtrage qui renvoie une valeur booléenne et un objet itérable tel qu’une liste ou un tuple. La méthode filter()
est un itérateur ou un objet filter()
.
Il faut convertir l’itérateur en une liste ou un tuple en utilisant la méthode list()
ou la méthode tuple()
. Les fonctions lambda
en ligne et les fonctions anonymes en Python.
Ces fonctions peuvent être utilisées en complément de la méthode filter
.
Les fonctions lambda
ont la syntaxe suivante.
lambda < parameters > : < expression >
Les paramètres doivent être séparés par des virgules et l’expression doit renvoyer un résultat booléen (True
ou False
).
Comprenons comment utiliser les deux ensemble à l’aide d’un exemple simple. Reportez-vous au code Python suivant pour la même chose.
array = [11, 23, 13, 4, 15, 66, 7, 8, 99, 10]
new_array = list(filter(lambda x: x <= 20, array))
print("Old Array:", array)
print("New Array:", new_array)
Production :
Old Array: [11, 23, 13, 4, 15, 66, 7, 8, 99, 10]
New Array: [11, 13, 4, 15, 7, 8, 10]
Le code Python ci-dessus filtre toutes les valeurs de la liste d’entiers, array
, qui est inférieur ou égal à 20
.
Chaque valeur de la liste est passée à la fonction lambda
. S’il renvoie True
, la valeur est ajoutée au résultat ; sinon, non.
Une fois le résultat obtenu dans un itérateur, il est converti en liste à l’aide de la méthode intégrée list()
. Enfin, les deux tableaux sont imprimés sur la console.
Exemples
Voici quelques exemples pour comprendre l’utilisation de la méthode filter()
et des fonctions lambda
ensemble.
Filtrer tous les nombres pairs d’une liste d’entiers
array = [1, 2, 3, 4, 5, 66, 77, 88, 99, 100]
new_array = list(filter(lambda x: x % 2 == 0, array))
print("Old Array:", array)
print("New Array:", new_array)
Production :
Old Array: [1, 2, 3, 4, 5, 66, 77, 88, 99, 100]
New Array: [2, 4, 66, 88, 100]
Filtrer tous les nombres impairs d’une liste d’entiers
array = [1, 2, 3, 4, 5, 66, 77, 88, 99, 100]
new_array = list(filter(lambda x: x % 2 == 1, array))
print("Old Array:", array)
print("New Array:", new_array)
Production :
Old Array: [1, 2, 3, 4, 5, 66, 77, 88, 99, 100]
New Array: [1, 3, 5, 77, 99]
Filtrer toutes les chaînes de longueur 5 à partir d’une liste de chaînes
array = [
"hello",
"python",
"world",
"walking",
"sleep",
"shelter",
"food",
]
new_array = list(filter(lambda x: len(x) == 5, array))
print("Old Array:", array)
print("New Array:", new_array)
Production :
Old Array: ['hello', 'python', 'world', 'walking', 'sleep', 'shelter', 'food']
New Array: ['hello', 'world', 'sleep']
Filtrez tous les nombres de l’intervalle [10, 20]
à partir d’une liste d’entiers
array = [11, 23, 13, 4, 15, 66, 7, 8, 99, 10]
new_array = list(filter(lambda x: 10 <= x <= 20, array))
print("Old Array:", array)
print("New Array:", new_array)
Production :
Old Array: [11, 23, 13, 4, 15, 66, 7, 8, 99, 10]
New Array: [11, 13, 15, 10]
Article connexe - Python Function
- Quitter une fonction en Python
- Arguments optionnels en Python
- Imitez la fonction ode45() en Python
- Correction de l'erreur Python Return Outside Function
- La fonction zip() en Python
- La fonction maketrans en Python