查找最后匹配的索引
查找给定列表中满足提供的测试函数的最后一个元素的索引。
- 使用列表推导式、
enumerate()
和next()
来返回满足fn
返回True
的最后一个元素在lst
中的索引。
def find_last_index(lst, fn):
return len(lst) - 1 - next(i for i, x in enumerate(lst[::-1]) if fn(x))
find_last_index([1, 2, 3, 4], lambda n: n % 2 == 1) # 2