Maison  >  Article  >  développement back-end  >  Comment fonctionne la syntaxe `sorted(key=lambda: ...)` en Python ?

Comment fonctionne la syntaxe `sorted(key=lambda: ...)` en Python ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-27 08:59:03245parcourir

How does the `sorted(key=lambda: ...)` syntax work in Python?

Comprendre la syntaxe de sorted(key=lambda: ...)

La fonction sorted() en Python vous permet de trier un liste basée sur une clé de tri personnalisée. L'argument key prend un appelable qui spécifie comment chaque élément doit être comparé pour le tri. Lorsque cet appelable est une fonction lambda, sa syntaxe suit un modèle spécifique :

key=lambda variable: variable[index]

Syntaxe de la fonction Lambda

Une fonction lambda est une fonction anonyme, définie à l'aide de lambda , qui accepte une ou plusieurs variables en entrée et effectue un calcul ou une opération. La syntaxe d'une fonction lambda est :

lambda input_variable(s): expression

Argument clé dans sorted()

L'argument clé dans sorted() prend un appelable, et dans notre cas , l'appelable est une fonction lambda. La fonction lambda est appliquée à chaque élément de la liste et le résultat est utilisé pour comparer les éléments pour le tri.

Comprendre la syntaxe

La variable dans la fonction lambda est attribué à chaque élément de la liste au fur et à mesure que la fonction parcourt la liste. La variable est suivie de deux points (:), suivis de l'expression qui extrait la valeur à utiliser pour le tri. Dans l'exemple fourni, l'expression accède au premier élément de chaque élément de la liste, représenté par variable[0].

Pourquoi "variable" est déclaré deux fois

La variable est indiquée deux fois car les fonctions lambda utilisent un seul deux-points (:) comme séparateur entre les variables d'entrée et l'expression. La première variable, avant les deux points, se voit attribuer les éléments de la liste, et la deuxième variable, après les deux points, se voit attribuer l'expression qui extrait la valeur de tri.

Exemple

Considérons l'exemple suivant :

<code class="python">mylist = [(3, 6), (2, 5), (1, 4)]
sorted(mylist, key=lambda x: x[0])</code>

Dans cet exemple, la fonction lambda lambda x: x[0] extrait le premier élément de chaque tuple de maliste. La liste triée sera ensuite ordonnée par le premier élément des tuples par ordre croissant.

Conclusion

La syntaxe de sorted(key=lambda: ...) implique d'utiliser une fonction lambda pour définir une clé de tri personnalisée. La fonction lambda accepte une variable d'entrée, qui est affectée à chaque élément de la liste, et extrait une valeur de cet élément à utiliser pour le tri. Comprendre cette syntaxe et le comportement des fonctions lambda dans la fonction sorted() est crucial pour trier efficacement les listes en fonction de critères personnalisés.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn