map()
to map each element to the value returned by fn
.sum()
to sum all of the mapped values, divide by len(lst)
.fn
, to use the default identity function.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
Subscribe to get resources directly to your inbox. You won't receive any spam! ✌️