Найти максимальное значение списка на основе функции

Beginner

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

Введение

В 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), которая принимает в качестве аргументов список и функцию, сопоставляет каждому элементу значение с использованием заданной функции и возвращает максимальное значение.