Einführung
In Python können wir die max()-Funktion verwenden, um den maximalen Wert in einer Liste zu finden. Was passiert jedoch, wenn wir den maximalen Wert finden möchten, nachdem jedes Element mithilfe einer bereitgestellten Funktion auf einen Wert abgebildet wurde? In dieser Herausforderung müssen Sie eine Funktion schreiben, die eine Liste und eine Funktion als Argumente nimmt, jedes Element mithilfe der bereitgestellten Funktion auf einen Wert abbildet und den maximalen Wert zurückgibt.
Maximum-Wert in einer Liste basierend auf einer Funktion finden
Schreiben Sie eine Funktion max_by(lst, fn), die eine Liste lst und eine Funktion fn als Argumente nimmt. Die Funktion sollte jedes Element in lst mithilfe der bereitgestellten Funktion fn auf einen Wert abbilden und dann den maximalen Wert zurückgeben.
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
Zusammenfassung
In dieser Herausforderung haben Sie gelernt, wie man den maximalen Wert in einer Liste findet, nachdem jedes Element mithilfe einer bereitgestellten Funktion auf einen Wert abgebildet wurde. Sie haben eine Funktion max_by(lst, fn) geschrieben, die eine Liste und eine Funktion als Argumente nimmt, jedes Element mithilfe der bereitgestellten Funktion auf einen Wert abbildet und den maximalen Wert zurückgibt.