Buscar

Funções Lambda em Python

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

Funções Lambda em Python
Desafio
Hoje é comum a contratação de programadores Python por empresas que não são necessariamente da área de tecnologia da informação, tendo em vista a difusão da linguagem Python em diversas aplicações comerciais.
Você foi contratado como programador Python em uma empresa do ramo de cosméticos. Houve uma promoção e seu chefe pediu para você atribuir a 10 produtos o mesmo valor, ou seja, a partir de agora a empresa de cosméticos operaria com preço único, que seria o somatório total de produtos. Em síntese, ao levar 10 produtos, o cliente pagaria o somatório dos dez produtos (1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10), independente do valor inicial do produto. 
Como desenvolvedor Python, sabendo que o código da lista de produtos foi desenvolvido em Python, qual função poderia ser combinada com a função lambda para que todos os preços fossem descartados na lista de produtos, e somente um valor fosse retornado, que representasse o somatório de 1,2,3,4,5,6,7,8,9,10? 
Padrão de resposta esperado
Para resolver a questão, é preciso utilizar a função lambda ( ) com a função reduce ( ), responsável por aplicar uma função em todos os valores passados em forma de lista, e retornar apenas um valor.
Obtendo:
from functools import reduce
soma = reduce ((lambda x, y: x + y), [1,2,3,4,5,6,7,8,9,10])
print (soma)
Resultado: Ao adquirir 10 produtos, o cliente pagará 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55.
Ficando o preço final da aquisição de 10 itens por R$ 55,00. 
Exercícios
1. 
A função lambda é uma função da linguagem Python, que tem todas as características de uma função comum, tendo como exceção sua declaração como:
C. 
Variáveis.
A função lambda tem como exceção das demais função o fato de ser declarada como uma variável na indexação do código Python, em vez de um char, um booleno, um inteiro ou uma string.
2. 
As funções lambda não têm def próprio e são implementadas em apenas uma linha, com indexação de código que implementa automaticamente e de forma implícita a instrução:
A. 
Return.
A função lambda implementa automaticamente e de forma implícita a instrução return, que, no caso da função def, precisa ser mostrada. Os demais set, get, defaut e open precisam ser citados e não são implícitos no código.
3. 
Python utiliza as funções lambda como funções que implementam expressões reutilizáveis, como blocos que executam determinadas ações.
Como lambda não utiliza a função def, basta, para definir a função: 
E. 
Incluir o nome da função lambda e, em seguida, caracteres ( ).
Para definir uma função lambda, basta somente incluir o nome da função lambda e, em seguida, os caracteres que serão utilizados na função ( ). A função print, os métodos set e get, input ou return não são empregados neste caso.
4. 
Para definir o somatório de três números na linguagem Python, teremos: def soma (numero1, numero2, numero3): return numero1 + numero2 + numero3. 
Como ficaria a mesma implementação por meio da função lambda?
D. 
soma_lambda = lambda numero1, numero2, numero3: numero1 + numero2 + numero3.
Por meio da função lambda, poderíamos implementar o somatório dos três números com a seguinte sintaxe: soma_lambda = lambda numero1, numero2, numero3: numero1 + numero2 + numero3.
5. 
Caso tenhamos uma lista de números em Python na estrutura de dados de lista, além do emprego da função lambda para simplificar a distribuição da sintaxe do código, é comum implementar em conjunto com a função lambda, a função:
B. 
filter ( ).
No caso de uma estrutura de dados em lista, é comum, além do emprego da função lambda para simplificação da sintaxe do código, a implementação da função filter para filtrar os dados oriundos da lista. As demais funções input ( ), print ( ) e order ( ) não costumam ser utilizadas neste caso e a função def ( ) não é empregada.

Continue navegando