Fonction max de Python avec 'key' et expressions Lambda
La fonction max de Python vous permet de trouver le plus grand élément d'une collection. Il peut prendre plusieurs arguments ou un itérable et éventuellement un argument clé.
Comprendre la fonction max
La fonction max renvoie le plus grand élément en fonction de la comparaison de ses arguments. Par défaut, il compare les éléments en utilisant leur ordre naturel (par exemple, comparaison numérique pour les nombres, comparaison lexicographique pour les chaînes).
L'argument 'clé'
La clé L’argument est utilisé pour spécifier une fonction de comparaison personnalisée. Il prend un seul argument, représentant généralement un élément de la collection, et doit renvoyer une valeur utilisée à des fins de comparaison. En fournissant un argument clé, vous pouvez modifier les éléments avant la comparaison ou les comparer en fonction d'un attribut ou d'un index spécifique.
Expressions Lambda dans l'argument « clé »
Les expressions Lambda en Python sont des fonctions anonymes qui peuvent être utilisées pour définir la fonction de comparaison en ligne. Elles prennent la forme suivante :
lambda argument: return_value
Dans le cadre de la fonction max, les expressions lambda sont souvent utilisées pour extraire une valeur spécifique de chaque élément qui sera utilisé à des fins de comparaison. Par exemple, si vous avez une liste d'objets avec un attribut totalScore, vous pouvez utiliser un lambda pour renvoyer ce score à des fins de comparaison :
<code class="python">players = [{"name": "Player 1", "totalScore": 100}, {"name": "Player 2", "totalScore": 150}] w = max(players, key=lambda p: p["totalScore"]) print(w["name"]) # Output: Player 2</code>
Exemple d'utilisation de l'argument « clé »
Considérez la liste suivante de tuples représentant des paires (nom, score) :
<code class="python">lis = [("Player A", 80), ("Player B", 75), ("Player C", 90)]</code>
Pour trouver le joueur avec le score le plus élevé, vous pouvez utiliser :
<code class="python">winner = max(lis, key=lambda p: p[1]) print(winner) # Output: ('Player C', 90)</code>
Dans cet exemple, l'expression lambda lambda p: p[1] extrait le score (à l'index 1) de chaque tuple. La fonction max renvoie ensuite le tuple avec le score le plus élevé.
Conclusion
L'argument clé et les expressions lambda fournissent un moyen puissant de personnaliser la logique de comparaison dans la fonction max . En spécifiant une fonction de comparaison personnalisée, vous pouvez comparer des objets en fonction de n'importe quel attribut ou index pertinent, vous permettant de récupérer l'élément le plus grand ou le plus petit en fonction de vos besoins spécifiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!