Функция Python Max с использованием «ключа» и лямбда-выражения

Я родом из ООП и пытаюсь выучить Python. Я использую функцию max, которая использует лямбда-выражение для возврата экземпляра типа Player, имеющего максимум totalScore среди списка players.

def winner():
    w = max(players, key=lambda p: p.totalScore)

Функция корректно возвращает экземпляр типа Player, имеющий максимум totalScore. Меня смущают следующие три вещи:

  1. Как работает функция max? Какие аргументы он принимает? Я посмотрел на документацию, но не смог понять.
  2. Что такое ключевое слово key в функции max? Я знаю, что это также используется в контексте функции sort
  3. Значение лямбда-выражения? Как их читать? Как они работают?

Это все очень нудистские концептуальные вопросы, но они помогут мне понять язык. Было бы полезно, если бы вы могли привести примеры, чтобы объяснить. Благодаря

146
задан Renato Byrro 23 July 2019 в 15:43
поделиться