Найти последний совпадающий индекс

Beginner

This tutorial is from open-source community. Access the source code

Введение

В Python мы можем использовать списочное выражение и enumerate() для нахождения индекса последнего элемента в списке, который удовлетворяет заданному условию. Эта задача проверит вашу способность использовать эти инструменты для решения проблемы.

Найти последний совпадающий индекс

Напишите функцию find_last_index(lst, fn), которая принимает список lst и функцию fn в качестве аргументов. Функция должна возвращать индекс последнего элемента в lst, для которого fn возвращает True. Если ни один элемент не удовлетворяет условию, функция должна возвращать -1.

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

Резюме

В этом испытании вы узнали, как использовать списочное выражение и enumerate() для нахождения индекса последнего элемента в списке, который удовлетворяет заданному условию. Это полезный прием, который стоит иметь в своем Python-инструментаре!