简介
在 Python 中,你可以使用 min() 函数来找到列表中的最小值。然而,如果你想基于列表中每个元素的特定属性来找到最小值呢?这就是 min_by() 函数发挥作用的地方。
根据函数找出列表中的最小值
编写一个名为 min_by(lst, fn) 的函数,它接受一个列表 lst 和一个函数 fn 作为参数。该函数应使用提供的函数将列表中的每个元素映射为一个值,然后返回最小值。
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
总结
在这个挑战中,你学习了如何使用 min_by() 函数,基于列表中每个元素的特定属性来找到列表的最小值。该函数使用提供的函数将列表中的每个元素映射为一个值,然后返回最小值。