Introduction
En Python, nous pouvons utiliser la fonction max() pour trouver la valeur maximale dans une liste. Cependant, que faire si nous voulons trouver la valeur maximale après avoir appliqué une fonction donnée à chaque élément pour le mapper à une autre valeur? Dans ce défi, vous devrez écrire une fonction qui prend une liste et une fonction en arguments, applique la fonction donnée à chaque élément pour le mapper à une autre valeur, et renvoie la valeur maximale.
Trouver la valeur maximale d'une liste en fonction d'une fonction
Écrivez une fonction max_by(lst, fn) qui prend une liste lst et une fonction fn en arguments. La fonction devrait mapper chaque élément de lst à une valeur en utilisant la fonction fn fournie, puis renvoyer la valeur maximale.
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
Sommaire
Dans ce défi, vous avez appris à trouver la valeur maximale dans une liste après avoir appliqué une fonction donnée à chaque élément pour le mapper à une autre valeur. Vous avez écrit une fonction max_by(lst, fn) qui prend une liste et une fonction en arguments, applique la fonction donnée à chaque élément pour le mapper à une autre valeur, et renvoie la valeur maximale.