Promedio de una lista mapeada

PythonPythonBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En Python, podemos usar la función map() para aplicar una función a cada elemento de una lista y devolver una nueva lista con los elementos modificados. También podemos usar la función sum() para sumar todos los elementos de una lista. En este desafío, combinaremos estas dos funciones para calcular el promedio de una lista, después de mapear cada elemento a un valor usando una función proporcionada.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python/BasicConceptsGroup -.-> python/comments("Comments") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/DataStructuresGroup -.-> python/dictionaries("Dictionaries") python/FunctionsGroup -.-> python/function_definition("Function Definition") python/FunctionsGroup -.-> python/default_arguments("Default Arguments") python/FunctionsGroup -.-> python/lambda_functions("Lambda Functions") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") subgraph Lab Skills python/comments -.-> lab-13588{{"Promedio de una lista mapeada"}} python/lists -.-> lab-13588{{"Promedio de una lista mapeada"}} python/tuples -.-> lab-13588{{"Promedio de una lista mapeada"}} python/dictionaries -.-> lab-13588{{"Promedio de una lista mapeada"}} python/function_definition -.-> lab-13588{{"Promedio de una lista mapeada"}} python/default_arguments -.-> lab-13588{{"Promedio de una lista mapeada"}} python/lambda_functions -.-> lab-13588{{"Promedio de una lista mapeada"}} python/build_in_functions -.-> lab-13588{{"Promedio de una lista mapeada"}} end

Promedio de una lista mapeada

Escribe una función llamada average_by(lst, fn = lambda x: x) que tome una lista lst y una función fn como argumentos. La función fn se debe usar para mapear cada elemento de la lista a un valor. Luego, la función debe calcular el promedio de los valores mapeados y devolverlo.

Si no se proporciona el argumento fn, la función debe usar la función identidad predeterminada, que simplemente devuelve el elemento mismo.

Tu función debe cumplir con los siguientes requisitos:

  • Usar map() para mapear cada elemento al valor devuelto por fn.
  • Usar sum() para sumar todos los valores mapeados, dividir por len(lst).
  • Omitir el último argumento, fn, para usar la función identidad predeterminada.

Firma de la función: 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

Resumen

En este desafío, aprendimos cómo usar las funciones map() y sum() para calcular el promedio de una lista, después de mapear cada elemento a un valor usando una función proporcionada. También aprendimos cómo usar argumentos predeterminados en las funciones de Python.