Coletânea Python do ZERO às Redes Neurais Artificiais

Fernando Feltrin · Capítulo 159 de 287

Páginas do PDF

Coletânea Python do ZERO às Redes Neurais Artificiais

Filter

Entendida a lógica da função map( ) podemos partir para a função filter( ), pois ambas são de propósitos parecidos mas de aplicações diferentes.

Vimos anteriormente que por meio da função map( ) podemos de forma

reduzida e eficiente iterar sobre algum elemento específico de uma lista ou dicionário.

Pois bem, por meio da função filter( ) também realizaremos iterações

sobre um elemento de uma lista ou dicionário, porém usando de lógica condicional.

Em outras palavras, via map( ) podemos realizar toda e qualquer iteração

sobre um determinado elemento, enquanto via filter( ) literalmente filtraremos um determinado dado/valor de um elemento quando o mesmo respeitar uma certa condição imposta.

Internamente os dados os quais serão reaproveitados pela função serão todos que, de acordo com a condição, retornem True.

 

Partindo para prática, inicialmente criamos uma variável de nome

pessoas, atribuída para a mesma está uma lista onde cada elemento é um par de dados em formato de dicionário, muito parecido com os exemplos usados anteriormente.

Em seguida criamos uma variável de nome idosos, que chama a função

filter( ) parametrizando a mesma com uma expressão lambda que basicamente irá ler os dados/valores de ‘idade’, mas apenas fazendo o uso dos quais tiverem este valor superior a 70.

Em seguida é repassado como segundo parâmetro a variável de onde serão extraídos tais dados, nesse caso, pessoas.

 

Analisando o retorno, note que foram retornados apenas os elementos os

quais em seu campo ‘idade’ o valor era maior que 70.

Assim como demonstrado em map( ), a função filter( ) também suporta

que para a mesma seja repassado como parâmetro uma função independente.

Neste outro exemplo, realizando a filtragem de valores superiores a 50,

note que para a variável nova_lista3 temos a função filter( ) por sua vez parametrizada com a função filtra, lendo dados de produtos2.

 

Nesse caso, o retorno nos remete aos dois elementos os quais para o

campo ‘preco’ o valor atribuído era maior que 50.