lambda plusieurs arguments

Le
Mihamina (R12y) Rakotomandimby
Bonjour,
Quelle serait la façon propre de définir et utiliser une lambda function
avec plusieurs arguments?
Moi j'ai ceci:

In [28]: s=lambda (x,z):x+z+3
In [29]: s((2,3))

Out[29]: 8

Mais je trouve les double parenthèses laides.
Y a t il un autre moyen?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Amaury Forgeot d'Arc
Le #648008
Bonjour,
Quelle serait la façon propre de définir et utiliser une lambda function
avec plusieurs arguments?
Moi j'ai ceci:

In [28]: s=lambda (x,z):x+z+3
In [29]: s((2,3))

Out[29]: 8

Mais je trouve les double parenthèses laides.
Y a t il un autre moyen?


En principe, on ne met pas de parenthèses après le mot "lambda"!
s=lambda x,z: x+z+3
s(2,3)

Ce que tu avais écrit est l'équivalent de:
def s((x,z)):
return x+z+3
C'est à dire une fonction qui prend UN argument: un tuple à deux
éléments ! (et cette syntaxe a été supprimée dans python 3.0)

--
Amaury

Mihamina (R12y) Rakotomandimby
Le #647794
Amaury Forgeot d'Arc wrote:
En principe, on ne met pas de parenthèses après le mot "lambda"!


Effectivement. Il était tard... comme quoi il faut travailler avec les
idées claires.

Publicité
Poster une réponse
Anonyme