single
Função Filter em Uso
Deslize para mostrar o menu
Você já viu como funções de ordem superior como map permitem aplicar uma função a cada elemento de uma sequência. Outra função de ordem superior essencial em Python é filter.
A função filter é usada para selecionar elementos de uma sequência com base em uma condição específica. Ela recebe dois argumentos: uma função que retorna True ou False para cada elemento, e a sequência a ser filtrada. O resultado é um iterador contendo apenas os elementos para os quais a função retorna True. Isso torna o filter especialmente útil quando se deseja extrair itens específicos de uma lista, tupla ou outro iterável com base em um critério, como números pares, valores positivos ou strings de determinado comprimento.
123456def is_even(n): return n % 2 == 0 numbers = [1, 2, 3, 4, 5, 6] even_numbers = list(filter(is_even, numbers)) print(even_numbers)
Este código utiliza a função filter() para criar uma nova lista contendo apenas os números inteiros pares de uma coleção existente. Ele funciona definindo uma função predicado, is_even(n). A função filter percorre a lista de números, aplicando essa verificação a cada elemento e descartando aqueles que não atendem à condição. Por fim, o objeto retornado pelo filter é convertido novamente em uma lista, produzindo o resultado.
Ao utilizar a função filter, ela retorna um objeto filter, que é um iterador — não uma lista. Se você imprimir o resultado de filter diretamente, verá uma saída semelhante a:
<filter object at 0xfffec885eb30>
Para acessar os valores filtrados como uma lista, é necessário converter o objeto filter usando list().
Deslize para começar a programar
Você irá utilizar a função filter para selecionar números positivos de uma lista.
- A função
is_positivedeve retornarTruese o argumento for maior que zero, eFalsecaso contrário. - A função
filter_positivedeve usar a funçãofilterjunto comis_positivepara criar uma nova lista contendo apenas os números positivos da lista de entrada. - A função deve retornar essa nova lista.
- Não se esqueça de remover o
pass.
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo