基于函数的最小列表值

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

  • 使用map()fn将每个元素映射到一个值,使用提供的函数。
  • 使用min()返回最小值。
def min_by(lst, fn):
  return min(map(fn, lst))

min_by([{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }], lambda v : v['n']) # 2