Función incorporada filter() de Python
De la documentación de Python 3
Construye un iterador a partir de aquellos elementos del iterable para los cuales la función devuelve verdadero. iterable puede ser una secuencia, un contenedor que admite la iteración, o un iterador. Si la función es None, se asume la función de identidad, es decir, se eliminan todos los elementos del iterable que son falsos.
Introducción
La función filter() en Python es una función incorporada que permite procesar un iterable y extraer aquellos elementos que satisfacen una determinada condición. Devuelve un iterador con los elementos que cumplen los criterios.
Sintaxis
filter(function, iterable)
- function: La función a ejecutar para cada elemento del iterable. Debe devolver
TrueoFalsepara cada elemento. - iterable: El iterable a filtrar, como una lista, tupla o cadena.
Descripción
La función filter() construye un iterador a partir de aquellos elementos del iterable para los cuales la función devuelve True. Si la función es None, elimina todos los elementos del iterable que son falsos.
Ejemplo
def is_even(num):
return num % 2 == 0
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(is_even, numbers))
print(even_numbers)
[2, 4, 6]
En este ejemplo, se define la función is_even para determinar si un número es par o no. El método filter toma dos argumentos: el primer argumento es la función a aplicar a cada elemento de la lista, y el segundo argumento es la lista a filtrar. El método filter devuelve un iterador, que luego se convierte en una lista y se almacena en la variable even_numbers. El resultado final es la lista de números pares de la lista original.
Enlaces relevantes
- map(): Aplica una función a cada elemento de un iterable y devuelve un iterador con los resultados.
- iter(): Devuelve un objeto iterador.
- List Comprehensions: Una forma concisa de crear listas, a menudo utilizada como alternativa a
filter(). - Comprehensions
- Functions
- reduce()