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

PythonPythonBeginner
Практиковаться сейчас

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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

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

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

Для решения этой проблемы вы должны использовать списочное выражение и next() для итерации по списку в обратном порядке и возвращения последнего элемента, удовлетворяющего тестирующей функции.

def find_last(lst, fn):
  return next(x for x in lst[::-1] if fn(x))
find_last([1, 2, 3, 4], lambda n: n % 2 == 1) ## 3

Резюме

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