Среднее значение отображенного списка
Напишите функцию под названием 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