Python función filter()

Python 内置函数Funciones integradas de Python


Descripción

filter()La función se utiliza para filtrar secuencias, descarta los elementos que no cumplen la condición y devuelve una nueva lista compuesta por los elementos que sí la cumplen.

Recibe dos parámetros: el primero es una función y el segundo una secuencia. Cada elemento de la secuencia se pasa como parámetro a la función para que esta evalúe y devuelva True o False; finalmente, los elementos que devuelven True se colocan en la nueva lista.

Nota:Python 2.7 devuelve una lista, Python 3.x devuelve un objeto iterador. Para más detalles, consulta:función filter() de Python3

Sintaxis

La sintaxis del método filter() es la siguiente:

filter(function, iterable)

Parámetros

  • function -- función de evaluación.
  • iterable -- objeto iterable.

Valor de retorno

Devuelve una lista.


Ejemplo

El siguiente ejemplo muestra el uso de la función filter:

Filtrar todos los números impares de la lista:

#!/usr/bin/python # -*- coding: UTF-8 -*- def is_odd(n): return n % 2 == 1 newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) print(newlist)

Resultado de salida:

[1, 3, 5, 7, 9]

Filtrar los números del 1 al 100 cuya raíz cuadrada es un entero:

#!/usr/bin/python # -*- coding: UTF-8 -*- import math def is_sqr(x): return math.sqrt(x) % 1 == 0 newlist = filter(is_sqr, range(1, 101)) print(newlist)

Resultado de salida:

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

Python 内置函数Funciones integradas de Python

Otras extensiones