映射列表的平均值
计算列表的平均值,先使用提供的函数将每个元素映射到一个值。
- 使用
map()
将每个元素映射到fn
返回的值。 - 使用
sum()
对所有映射值求和,然后除以lst
的长度。 - 如果不提供最后一个参数
fn
,则使用默认的恒等函数。
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