30秒学会 Python 片段 · 2019年7月8日

30秒学会 Python 片段 – find_last_index.md


title: find_last_index
tags: list,beginner

Returns the index of the last element in the provided list that satisfies the provided testing function.

Use list comprehension, enumerate() and next() to return the index of the last element in lst for which fn returns True.

代码实现

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