462 votes

Est-il possible d’effectuer des « si » en python ' lambda s

En python 2.6, je veux faire :

Ce n’est clairement pas la syntaxe. Il est possible d’effectuer un en et si oui comment le faire ?

Merci

832voto

Robert Rossney Points 43767

La syntaxe que vous recherchez :

Mais vous ne pouvez pas utiliser ou dans un lambda.

45voto

SilentGhost Points 79627

Pourquoi ne pas juste définir une fonction ?

rien vraiment ne justifie d’utiliser lambda dans ce cas.

27voto

Glenn Maynard Points 24451

Vous pouvez facilement déclencher une exception dans un lambda, si c’est ce que vous voulez vraiment faire.

Est-ce une bonne idée ? Mon instinct est en général de laisser l’erreur déclaration hors lambdas ; Laissez-la avoir la valeur None et déclenche l’erreur à l’appelant. Je ne pense pas que c’est foncièrement mauvais, même si - je considère que le « y si x z autre » syntaxe elle-même pire--Assurez-vous juste que vous n’essayez pas de trucs trop dans un corps de lambda.

16voto

David Wolever Points 34304

Expressions lambda en Python est assez restrictives en ce qui concerne ce que vous êtes autorisé à utiliser. Plus précisément, vous ne pouvez pas tout mot clé (sauf pour les opérateurs comme , , `` , etc.) dans leur corps.

Il n’y a donc aucun moyen que vous pourriez utiliser un lambda pour votre exemple (parce que vous ne pouvez pas utiliser `` ), mais si vous êtes prêt à concéder là-dessus... Vous pouvez utiliser :

Prograide.com

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.

Powered by:

X