funkcja max python przy użyciu wyrażenia „key” i lambda
Pochodzę z tła OOP i próbuję nauczyć się Pythona. Używammax
funkcja, która używa wyrażenia lambda do zwrócenia instancji typuPlayer
mając maksimumtotalScore
wśród listyplayers
.
def winner():
w = max(players, key=lambda p: p.totalScore)
Funkcja poprawnie zwraca instancję typuPlayer
mając maksimumtotalScore
. Jestem zdezorientowany następującymi trzema rzeczami:
max
działa funkcja? Jakie są argumenty? Spojrzałem na dokumentację, ale nie zrozumiałem.Co to jest użycie słowa kluczowegokey
w funkcji max? Wiem, że jest również używany w kontekściesort
funkcjonowaćZnaczenie wyrażenia lambda? Jak je czytać? Jak oni pracują?To są bardzo hałaśliwe pytania koncepcyjne, ale pomogą mi zrozumieć język. Byłoby pomocne, gdybyś mógł podać przykłady do wyjaśnienia. Dzięki