Guy Guy - 14 days ago 4
Python Question

Is there a way to perform "if" in python's lambda

In python 2.6, I want to do:

f = lambda x: if x==2 print x else raise Exception()
f(2) #should print "2"
f(3) #should throw an exception


This clearly isn't the syntax. Is it possible to perform an
if
in
lambda
and if so how to do it?

thanks

Answer

The syntax you're looking for:

lambda x: True if x % 2 == 0 else False

But you can't use print or raise in a lambda.