基于函数的列表最大值

使用提供的函数将每个元素映射为一个值,然后返回列表的最大值。

  • 使用map()fn将每个元素映射为一个值,使用提供的函数。
  • 使用max()返回最大值。
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