Python filter(): Como filtrar iteráveis em Python
Com a função Python filter()
, você filtra um iterável com base em uma condição específica e cria um iterador que consiste apenas em valores verificados. Ela também funciona com strings ou para remover valores nulos.
O que é a função Python filter()
?
Com a função Python filter()
, é possível aplicar uma condição a um iterável e assim selecionar apenas aqueles elementos que a atendem. Esses elementos são então retornados como iterador Python. A condição é considerada atendida se o valor não for 0 ou false. Embora existam outras opções para filtrar, por exemplo, uma lista ou um dicionário, a função Python filter()
pode ser usada de maneira particularmente eficiente. A função cria um objeto que referencia o iterável original e fornece a função aplicada e um índice. Ela funciona de maneira significativamente mais econômica em termos de espaço do que outras opções.
Sintaxe e parâmetros de Python filter()
A sintaxe da função Python filter()
é a seguinte:
A função Python filter()
tem dois parâmetros:
function
: Este argumento especifica uma função que será aplicada a cada elemento dentro do iterável. Ela retorna um valor booleano (“true” ou “false”).iterable
: Este parâmetro especifica a sequência que será filtrada pela função Pythonfilter()
. Pode ser uma lista, um conjunto, outro iterável ou uma tupla Python.
Assim, cada elemento do iterável é verificado quanto à condição. Se a condição for “true”, o elemento é considerado na nova sequência. Se o objeto não atender à condição, ele não será incluído. A forma exata de funcionamento será mostrada nos próximos tópicos com alguns exemplos práticos.
Exemplo de Python filter()
No nosso primeiro exemplo, usamos uma série de números e queremos instruir o sistema a considerar apenas valores acima de 10. Para isso, usamos a função Python filter()
. O código correspondente é:
A saída será a lista:
Python filter()
com strings
filter()
também funciona com strings Python. No exemplo a seguir, instruímos o sistema a considerar apenas as vogais. O código é:
A saída foi armazenada como uma tupla:
Combinar Python filter()
e lambda
É possível combinar filter()
com a função Python Lambda. Trata-se de uma função anônima que é usada principalmente localmente. Para nosso exemplo, escolhemos uma sequência de números e instruímos o sistema a considerar apenas os números pares. O código é:
Obtivemos a seguinte saída:
Combinar Python filter()
com None
Se você passar None
como o primeiro argumento para a função Python filter()
, o sistema será instruído a filtrar apenas valores falsy. Valores falsy são aqueles que, de acordo com o princípio booleano, são avaliados como False, incluindo 0, False, None, listas e strings vazias, entre outros. Para nosso exemplo, escolhemos uma lista de valores diversos. Estes são inteiros, vazios ou valores booleanos. Então usamos a função Python filter()
com None
e filtramos os valores que não atendem nossa condição. O código é:
Nossa saída será:
Remover strings vazias com Python filter()
Se você quiser remover strings vazias, pode usar a função Python filter()
. O comando correspondente é assim:
Para a saída, as strings vazias serão filtradas e apenas aquelas com um valor serão consideradas. O resultado será:
Reconhecimento automático de frameworks, staging facilitado e uma série de funcionalidades: com o Deploy Now da IONOS, você não só conta com uma infraestrutura confiável, como também faz a implantação do seu site ou app diretamente pelo GitHub. Escolha o plano adequado para as suas necessidades!