面试题答案
一键面试from functools import reduce
def sum_ages(lst):
def add_ages(acc, person):
return acc + person['age']
return reduce(add_ages, lst, 0)
在上述代码中,reduce
函数的第一个参数是一个函数 add_ages
,这个函数接受两个参数,acc
是累加器,初始值为 reduce
函数的第三个参数 0
(当列表为空时直接返回这个初始值),person
是列表中的每一个字典元素。add_ages
函数将累加器 acc
和当前 person
的 age
相加并返回新的累加值。reduce
函数会对列表中的每个元素依次调用 add_ages
函数,最终返回所有年龄的总和。如果列表为空,由于初始值为 0
,所以直接返回 0
。