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
lambda and if so how to do it?
The syntax you're looking for:
lambda x: True if x % 2 == 0 else False
But you can't use
raise in a lambda.
why don't you just define a function?
def f(x): if x == 2: print(x) else: raise ValueError
there really is no justification to use lambda in this case.