Funções reduce() e lambda
Você está ficando muito bom no uso de funções lambda! Aqui está mais uma função para você adicionar ao seu repertório de habilidades. A função reduce()
é útil para executar algum cálculo em uma lista e, ao contrário de map()
e filter()
, retorna um único valor como resultado. Para usar reduce()
, você deve importá-la do módulo functools
.
Você se lembra de gibberish()
de alguns exercícios anteriores?
# Define gibberish
def gibberish(*args):
"""Concatenate strings in *args together."""
hodgepodge = ''
for word in args:
hodgepodge += word
return hodgepodge
gibberish()
simplesmente recebe uma lista de strings como argumento e retorna, como um resultado de valor único, a concatenação de todas essas cadeias. Neste exercício, você replicará essa funcionalidade usando reduce()
e uma função lambda que concatena cadeias de caracteres.
Este exercício faz parte do curso
Introdução a funções em Python
Instruções do exercício
- Importe a função
reduce
do módulofunctools
. - Na chamada a
reduce()
, passe uma função lambda que recebe dois argumentos de stringitem1
eitem2
e os concatena; passe também a lista de strings,stark
. Atribua o resultado aresult
. O primeiro argumento parareduce()
deve ser a função lambda e o segundo argumento é a listastark
.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Import reduce from functools
# Create a list of strings: stark
stark = ['robb', 'sansa', 'arya', 'brandon', 'rickon']
# Use reduce() to apply a lambda function over stark: result
result = reduce(____, ____)
# Print the result
print(result)