Einführung
In Python kannst du die min()-Funktion verwenden, um den kleinsten Wert einer Liste zu finden. Was passiert jedoch, wenn du den kleinsten Wert einer Liste basierend auf einer bestimmten Eigenschaft oder einem Attribut jedes Elements in der Liste bestimmen möchtest? Genau hier kommt die min_by()-Funktion zum Einsatz.
Finde den kleinsten Wert einer Liste basierend auf einer Funktion
Schreibe eine Funktion namens min_by(lst, fn), die eine Liste lst und eine Funktion fn als Argumente nimmt. Die Funktion sollte jedes Element in der Liste mithilfe der bereitgestellten Funktion zu einem Wert abbilden und dann den kleinsten Wert zurückgeben.
def min_by(lst, fn):
return min(map(fn, lst))
min_by([{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }], lambda v : v['n']) ## 2
Zusammenfassung
In dieser Herausforderung hast du gelernt, wie du den kleinsten Wert einer Liste basierend auf einer bestimmten Eigenschaft oder einem Attribut jedes Elements in der Liste mit der min_by()-Funktion findest. Diese Funktion bildet jedes Element in der Liste mit einer bereitgestellten Funktion zu einem Wert ab und gibt dann den kleinsten Wert zurück.