Trouver la valeur maximale d'une liste en fonction d'une fonction

PythonPythonBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

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.