Я пришел из фона ООП и пытался узнать python.
Я использую функцию max
, которая использует выражение лямбда, чтобы вернуть экземпляр типа Player
, имеющий максимум totalScore
среди списка players
.
def winner():
w = max(players, key=lambda p: p.totalScore)
Функция корректно возвращает экземпляр типа Player
с максимальным значением totalScore
.
Я запутался в следующих трех вещах:
- Как работает функция
max
? Какие аргументы он принимает? Я посмотрел документацию, но не понял. - Что такое ключевое слово
key
в функции max? Я знаю, что он также используется в контексте функцииsort
- Значение выражения лямбда? Как их читать? Как они работают?
Все это очень ноубийские концептуальные вопросы, но поможет мне понять язык. Это поможет, если вы сможете привести примеры для объяснения. Благодаря