Среднее значение отображенного списка

PythonPythonBeginner
Практиковаться сейчас

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В Python мы можем использовать функцию map() для применения функции к каждому элементу списка и возврата нового списка с измененными элементами. Мы также можем использовать функцию sum() для сложения всех элементов списка. В этом испытании мы объединим эти две функции для вычисления среднего значения списка, после того, как каждый элемент будет отображаться на значение с использованием предоставленной функции.


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{{"Среднее значение отображенного списка"}} python/lists -.-> lab-13588{{"Среднее значение отображенного списка"}} python/tuples -.-> lab-13588{{"Среднее значение отображенного списка"}} python/dictionaries -.-> lab-13588{{"Среднее значение отображенного списка"}} python/function_definition -.-> lab-13588{{"Среднее значение отображенного списка"}} python/default_arguments -.-> lab-13588{{"Среднее значение отображенного списка"}} python/lambda_functions -.-> lab-13588{{"Среднее значение отображенного списка"}} python/build_in_functions -.-> lab-13588{{"Среднее значение отображенного списка"}} end

Среднее значение отображенного списка

Напишите функцию под названием average_by(lst, fn = lambda x: x), которая принимает список lst и функцию fn в качестве аргументов. Функция fn должна использоваться для отображения каждого элемента списка на значение. Затем функция должна вычислить среднее значение отображенных значений и вернуть его.

Если аргумент fn не указан, функция должна использовать функцию тождественности по умолчанию, которая просто возвращает сам элемент.

Ваша функция должна соответствовать следующим требованиям:

  • Использовать map() для отображения каждого элемента на значение, возвращаемое функцией fn.
  • Использовать sum() для суммирования всех отображенных значений, разделить на len(lst).
  • Пропустить последний аргумент, fn, чтобы использовать функцию тождественности по умолчанию.

Подпись функции: 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

Резюме

В этом испытании мы узнали, как использовать функции map() и sum() для вычисления среднего значения списка, после того, как каждый элемент был отображен на значение с использованием предоставленной функции. Мы также узнали, как использовать аргументы по умолчанию в функциях Python.