single
Funções Lambda
Deslize para mostrar o menu
Funções lambda são funções anônimas, ou seja, não possuem nome. Elas são criadas usando a palavra-chave lambda e são frequentemente utilizadas para definir funções curtas, onde é possível especificar uma função diretamente no local de uso.
A sintaxe básica de uma função lambda é a seguinte:
lambda arguments: expression
lambda: palavra-chave que indica o início da definição de uma função lambda;arguments: lista de argumentos que a função recebe;expression: expressão executada quando a função é chamada. O resultado da expressão é retornado como valor da função.
A principal característica das funções lambda é sua sintaxe concisa. Elas são convenientes quando é necessário definir uma função simples sem escrever muito código.
Argumentos únicos e múltiplos
Uma função lambda pode receber um ou mais argumentos:
1234567# Single argument square = lambda x: x**2 print(square(5)) # 25 # Multiple arguments add = lambda x, y: x + y print(add(3, 5)) # 8
Lógica condicional em funções lambda
É possível usar uma expressão ternária para adicionar lógica condicional dentro de uma lambda:
123is_even = lambda x: "even" if x % 2 == 0 else "odd" print(is_even(4)) # "even" print(is_even(7)) # "odd"
Uso de lambda com funções embutidas
Um caso de uso comum é combinar funções lambda com funções embutidas como map() e filter():
123456789prices = [100, 200, 300] # Apply 10% discount to each price discounted = list(map(lambda price: price * 0.9, prices)) print(discounted) # [90.0, 180.0, 270.0] # Keep only prices above 150 expensive = list(filter(lambda price: price > 150, prices)) print(expensive) # [200, 300]
Você também pode usar max() dentro de uma lambda para lidar com casos extremos diretamente na expressão:
123safe_value = lambda x: max(x, 0) # Returns 0 if x is negative print(safe_value(-5)) # 0 print(safe_value(10)) # 10
Funções lambda são mais adequadas para lógicas curtas e de expressão única. Se a função exigir múltiplas linhas ou lógica complexa, uma função regular def é a escolha mais apropriada.
Deslize para começar a programar
Existe uma lista de preços (prices), e uma expressão lambda precisa ser implementada que receba um preço como parâmetro e deduza 13% de imposto dele.
- Definir uma expressão lambda utilizando a palavra-chave
lambda. - A expressão lambda deve receber um parâmetro (
price). - Se o
pricefor negativo, considerar como inválido e retornar 0 utilizando a funçãomax()diretamente dentro da expressão lambda. - A lambda deve primeiro verificar o preço e então deduzir 13% do valor válido.
- Utilizar uma list comprehension para aplicar
apply_taxa cada elemento emprices.
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