Coletânea Python do ZERO às Redes Neurais Artificiais
Combinando Map, Filter e Reduce
COMBINANDO MAP, FILTER E
REDUCE
Como você bem sabe, Python é uma linguagem de programação dinâmica, onde a mesma ação pode ser codificada de diferentes formas obtendo o mesmo resultado, ficando a critério do desenvolvedor optar por usar do método ao qual se sente mais confortável e que não afete negativamente a performance do código.
Nessa lógica, uma vez entendido o funcionamento de funções como map, filter e reduce, podemos realizar a combinação dos mesmos, o que é uma prática comum em aplicações reais.
Apenas uma ressalva aqui, lembre-se que nem sempre o método mais avançado/complexo é o mais eficiente, dentre os fatores que o desenvolvedor deve levar em consideração para criar seu programa, os mais importantes deles são, sem dúvida, a eficiência tanto em performance quanto em legibilidade do código.
Como visto anteriormente, embora parecidas, as funções em map, filter e reduce possuem algumas particularidades e aplicações específicas.
Sendo assim, temos de analisar muito bem o contexto onde as mesmas devem ser aplicadas, assim como as possíveis combinações entre as mesmas de modo a otimizar o código.
Vamos procurar entender essas diferenças de uma vez por todas com base no exemplo a seguir.
Inicialmente criamos uma variável de nome estoque, que recebe atribuída para si uma lista, dentro da lista estão cadastrados alguns itens em formato de dicionário, a partir desse momento podemos começar as devidas iterações.
Se você está familiarizado a trabalhar com listas deve se lembrar que um dos métodos mais básicos de extrair algum dado/valor de algum elemento da lista é criando um laço for que percorre cada elemento da lista retornando seu respectivo dado/valor.
Aqui criamos uma variável de nome precos01, que inicialmente recebe como atributo uma lista vazia, em seguida criamos um laço for que percorrerá cada elemento de estoque, depois ele pega especificamente os valores das chaves ‘Preco’, retornando os mesmos para preco01.
Por fim via função print( ) é criada uma mensagem que faz referência aos valores encontrados a precos01.