Введение
В Python мы можем использовать функцию max() для нахождения максимального значения в списке. Однако, что если мы хотим найти максимальное значение после применения заданной функции к каждому элементу списка? В этом испытании вам нужно написать функцию, которая принимает в качестве аргументов список и функцию, применяет заданную функцию к каждому элементу списка и возвращает максимальное значение.
Найти максимальное значение списка на основе функции
Напишите функцию max_by(lst, fn), которая принимает в качестве аргументов список lst и функцию fn. Функция должна сопоставить каждому элементу в lst значение с использованием заданной функции fn, а затем вернуть максимальное значение.
def max_by(lst, fn):
return max(map(fn, lst))
max_by([{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }], lambda v : v['n']) ## 8
Резюме
В этом испытании вы узнали, как найти максимальное значение в списке после сопоставления каждого элемента с некоторым значением с использованием заданной функции. Вы написали функцию max_by(lst, fn), которая принимает в качестве аргументов список и функцию, сопоставляет каждому элементу значение с использованием заданной функции и возвращает максимальное значение.