Is there a way to perform "if" in python's lambda
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.
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.
Probably the worst python line I've written so far:
f = lambda x: sys.stdout.write(["2\n",][2*(x==2)-2])
If x == 2 you print,
if x != 2 you raise.