Média de Lista Mapeada

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Em Python, podemos usar a função map() para aplicar uma função a cada elemento de uma lista e retornar uma nova lista com os elementos modificados. Também podemos usar a função sum() para somar todos os elementos de uma lista. Neste desafio, combinaremos essas duas funções para calcular a média de uma lista, após mapear cada elemento para um valor usando uma função fornecida.

Média de Lista Mapeada

Escreva uma função chamada average_by(lst, fn = lambda x: x) que recebe uma lista lst e uma função fn como argumentos. A função fn deve ser usada para mapear cada elemento da lista para um valor. A função deve então calcular a média dos valores mapeados e retorná-la.

Se o argumento fn não for fornecido, a função deve usar a função identidade padrão, que simplesmente retorna o próprio elemento.

Sua função deve atender aos seguintes requisitos:

  • Use map() para mapear cada elemento para o valor retornado por fn.
  • Use sum() para somar todos os valores mapeados, dividindo por len(lst).
  • Omita o último argumento, fn, para usar a função identidade padrão.

Assinatura da função: def average_by(lst, fn = lambda x: x) -> float:

def average_by(lst, fn = lambda x: x):
  return sum(map(fn, lst), 0.0) / len(lst)
average_by([{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }], lambda x: x['n'])
## 5.0

Resumo

Neste desafio, aprendemos como usar as funções map() e sum() para calcular a média de uma lista, após mapear cada elemento para um valor usando uma função fornecida. Também aprendemos como usar argumentos padrão em funções Python.