查找最后一个满足条件的值

查找给定列表中满足提供的测试函数的最后一个元素的值。

  • 使用列表推导式和 next() 来返回 lst 中满足 fn 返回 True 的最后一个元素。
def find_last(lst, fn):
  return next(x for x in lst[::-1] if fn(x))

find_last([1, 2, 3, 4], lambda n: n % 2 == 1) # 3