Files
30-seconds-of-code/snippets/average_by.md
2019-08-20 11:55:10 +03:00

481 B

title, tags
title tags
average_by math,list,function,intermediate

Returns the average of a list, after mapping each element to a value using the provided function.

Use map() to map each element to the value returned by fn. Use sum() to sum all of the mapped values, divide by len(lst).

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