Category: Python

Python: Conditional Statement with lambda

April 15th, 2008 | No Comments | Print

Suppose that we have a conditional statement:

In Python, we can write it in three ways:

f = lambda x: x > 2 and (x + 1) or 0

or

f = lambda x: 0 if x <= 2 else (x + 1)

or

f = lambda x: [x + 1, 0][x <= 2]

However, if the number of conditions if more than 2, it is best to use the first method.

For example, consider this conditional statement:

Here is the Python code:

f = lambda x: (x >= 5 and x+1) or \
   ( (x < 5 and x > 2) and 3 ) or 0

We read it as:

if x >= 5, f(x) = x + 1
    else, if 2 < x < 5, f(x) = 3
    else, f(x) = 0

Recommended Reading

Like this article?

Subscribe to the  RSS feed, or to  daily email updates, right now!

Share and enjoy:  Digg  del.icio.us  TwitThis  Facebook

Leave a Reply