Je ne comprends pas bien la syntaxe derrière l'argument sorted()
:
key=lambda variable: variable[0]
lambda
n'est-il pas arbitraire? Pourquoi variable
indiqué deux fois dans ce qui ressemble à dict
?
Je ne comprends pas bien la syntaxe derrière l'argument sorted()
:
key=lambda variable: variable[0]
lambda
n'est-il pas arbitraire? Pourquoi variable
indiqué deux fois dans ce qui ressemble à dict
?
key
est une fonction qui sera appelée à transformer la collecte des éléments avant leur comparaison. Le paramètre passé à l' key
doit être quelque chose qui est remboursable.
L'utilisation de l' lambda
crée une fonction anonyme (ce qui est exigible). Dans le cas d' sorted
remboursables ne prend qu'un seul paramètre. Python lambda
est assez simple. Il ne peut le faire et de le retourner chose vraiment.
La syntaxe de l' lambda
est le mot lambda
, suivie par la liste des noms des paramètres, puis d'un seul bloc de code. La liste des paramètres et blocs de code sont délimitées par deux points. Ceci est similaire à d'autres constructions en python, telles que l' while
, for
, if
et ainsi de suite. Ils sont tous les états qui ont généralement un bloc de code. Lambda est juste un autre exemple d'une déclaration avec un bloc de code.
Nous pouvons comparer l'utilisation de lambda que de la def pour créer une fonction.
adder_lambda = lambda parameter1,parameter2: parameter1+parameter2
def adder_regular(parameter1, parameter2): return parameter1+parameter2
lambda nous donne juste une façon de le faire sans l'affectation d'un nom. Ce qui le rend idéal pour l'utilisation en tant que paramètre à une fonction.
variable
est utilisé à deux reprises ici car sur la main gauche du colon, c'est le nom d'un paramètre et sur le côté droit, il est utilisé dans le bloc de code pour calculer quelque chose.
lambda
est un mot clé Python utilisé pour générer des fonctions anonymes .
>>> (lambda x: x+2)(3)
5
Puisque l'utilisation de lambda a été posée dans le contexte de sorted()
, jetez également un coup d'oeil à cette question https://wiki.python.org/moin/HowTo/Sorting/#Key_Functions
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.