30秒学会 Python 片段 · 2023年6月17日

30秒学会 Python 片段 – Find matching index

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

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

代码实现

def find_index(lst, fn):
  return next(i for i, x in enumerate(lst) if fn(x))

使用样例

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

翻译自:https://www.30secondsofcode.org/python/s/find-index