Lambdas in Python are fairly restrictive with regard to what you're allowed to use. Specifically, you can't have any keywords (except for operators like and
, not
, or
, etc) in their body.
So, there's no way you could use a lambda for your example (because you can't use raise
), but if you're willing to concede on that… You could use:
f = lambda x: x == 2 and x or None