Função python max usando 'key' e expressão lambda

Eu venho de fundo OOP e tentando aprender python. Estou usando omax função que usa uma expressão lambda para retornar a instância do tipoPlayer tendo o máximototalScore entre a listaplayers.

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

A função retorna corretamente a instância do tipoPlayer tendo o máximototalScore. Estou confuso sobre as três coisas seguintes:

Como é quemax trabalho de função? Quais são os argumentos que está tomando? Eu olhei para a documentação, mas não consegui entender.Qual é o uso da palavra-chavekey na função max? Eu sei que também é usado no contexto desort funçãoSignificado da expressão lambda? Como lê-los? Como eles funcionam?

Estas são todas perguntas conceituais muito noobianas, mas me ajudarão a entender a linguagem. Ajudaria se você pudesse dar exemplos para explicar. obrigado

questionAnswers(6)

yourAnswerToTheQuestion