Maison > Article > développement back-end > Comment pouvez-vous utiliser l'argument `key` et les expressions lambda pour personnaliser la comparaison dans la fonction `max` de Python ?
Comprendre la fonction max de Python avec des expressions clés et Lambda
La fonction max en Python est utilisée pour trouver la valeur maximale d'une séquence donnée. Lorsqu'il s'agit de structures de données complexes, telles que des objets personnalisés, il peut être nécessaire de spécifier un critère de comparaison au-delà de l'ordre lexicographique par défaut. C'est là que l'argument clé entre en jeu.
Utilisation de la clé pour personnaliser la comparaison
Le paramètre clé dans max prend un appelable qui spécifie comment chaque élément de la séquence doit être comparé. Cet appelable reçoit un élément comme argument et renvoie une valeur utilisée à des fins de comparaison. Par exemple :
<code class="python">players = [ Player("John", totalScore=100), Player("Jane", totalScore=150), Player("Tom", totalScore=75) ] def winner(): w = max(players, key=lambda p: p.totalScore)</code>
Dans cet exemple, l'expression lambda est une fonction anonyme qui renvoie l'attribut totalScore d'un objet Player. Cela permet à max de comparer les joueurs en fonction de leurs scores, en renvoyant l'instance avec le score le plus élevé.
Comprendre les expressions Lambda
Les expressions Lambda sont des fonctions anonymes définies en ligne sans l'utilisation du mot-clé def. Leur syntaxe est la suivante :
lambda parameters: expression
Les expressions lambda présentent plusieurs avantages :
Dans l'exemple ci-dessus, l'expression lambda :
<code class="python">lambda p: p.totalScore</code>
est équivalent à la fonction nommée suivante :
<code class="python">def get_score(p): return p.totalScore</code>
Avantages de l'utilisation des expressions clés et Lambda
L'utilisation de l'argument clé en conjonction avec des expressions lambda offre plusieurs avantages :
Notes supplémentaires
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!