ComeçarComece de graça

Funções map() e lambda

Até agora, você usou as funções lambda para escrever funções curtas e simples, bem como para redefinir funções com funcionalidade simples. No entanto, o melhor caso de uso das funções lambda é quando você deseja que essas funcionalidades simples sejam incorporadas anonimamente em expressões maiores. Isso significa que a funcionalidade não é armazenada no ambiente, ao contrário de uma função definida com def. Para entender melhor essa ideia, você usará uma função lambda no contexto da função map().

Lembre-se de que, no vídeo, map() aplica uma função a um objeto, como uma lista. Aqui, você pode usar funções lambda para definir a função que o map() usará para processar o objeto. Por exemplo:

nums = [2, 4, 6, 8, 10]

result = map(lambda a: a ** 2, nums)

Você pode ver aqui que uma função lambda, que eleva um valor a à potência de 2, é passada para map() juntamente com uma lista de números, nums. O objeto de mapa que resulta da chamada para map() é armazenado em result. Agora você praticará o uso de funções lambda com map(). Para este exercício, você mapeará a funcionalidade da função add_bangs() que definiu nos exercícios anteriores em uma lista de strings.

Este exercício faz parte do curso

Introdução a funções em Python

Ver curso

Instruções do exercício

  • Na chamada a map(), passe uma função lambda que concatena a string '!!!' a uma string item; passe também a lista de strings, spells. Atribua o objeto de mapa resultante a shout_spells.
  • Converta shout_spells em uma lista e imprima a lista.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Create a list of strings: spells
spells = ["protego", "accio", "expecto patronum", "legilimens"]

# Use map() to apply a lambda function over spells: shout_spells
____ = map(____, ____)

# Convert shout_spells to a list: shout_spells_list
____

# Print the result
print(shout_spells_list)
Editar e executar o código