ComeçarComece de graça

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

Ver curso

Instruções do exercício

  • Importe a função reduce do módulo functools.
  • Na chamada a reduce(), passe uma função lambda que recebe dois argumentos de string item1 e item2 e os concatena; passe também a lista de strings, stark. Atribua o resultado a result. O primeiro argumento para reduce() deve ser a função lambda e o segundo argumento é a lista stark.

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)
Editar e executar o código