Find last matching index

OSCC · Python, List · Nov 2, 2020

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

  • Use a 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

Recommended snippets

  • Finds the index of the first element in the given list that satisfies the provided testing function.

  • Finds the indexes of all elements in the given list that satisfy the provided testing function.

  • Finds the value of the last element in the given list that satisfies the provided testing function.