简介
在 Python 中,我们可以使用 max() 函数来找到列表中的最大值。但是,如果我们想在使用提供的函数将每个元素映射到一个值之后找到最大值呢?在这个挑战中,你需要编写一个函数,该函数接受一个列表和一个函数作为参数,使用提供的函数将每个元素映射到一个值,然后返回最大值。
在 Python 中,我们可以使用 max() 函数来找到列表中的最大值。但是,如果我们想在使用提供的函数将每个元素映射到一个值之后找到最大值呢?在这个挑战中,你需要编写一个函数,该函数接受一个列表和一个函数作为参数,使用提供的函数将每个元素映射到一个值,然后返回最大值。
编写一个函数 max_by(lst, fn),它接受一个列表 lst 和一个函数 fn 作为参数。该函数应使用提供的函数 fn 将 lst 中的每个元素映射到一个值,然后返回最大值。
def max_by(lst, fn):
return max(map(fn, lst))
max_by([{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }], lambda v : v['n']) ## 8
在这个挑战中,你已经学会了如何在使用提供的函数将列表中的每个元素映射到一个值之后,找到列表中的最大值。你编写了一个函数 max_by(lst, fn),它接受一个列表和一个函数作为参数,使用提供的函数将每个元素映射到一个值,然后返回最大值。