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

Beginner

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

Введение

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

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

Напишите функцию под названием 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.