Combining colon statements on one line?

Aaron Bingham bingham at
Fri Jul 16 02:47:26 EDT 2004

Dave Blackington wrote:

>Hi, I'm trying to figure out how to combine an 'if'
>and 'else' statement on one line.  Tonight I was
>programming and came up with a very short if/else
>scenario that demanded 4 lines due to the fact that
>python can't read an 'if' & 'else' on the same line. 
>In order to do the same thing in 1 line, I needed to
>make a dictionary.  If you want to know the whole
>scenario. Here it is:
>'972' '006'
>I have two dates without the millenium included. 
>Using basic 'if' 'else' communication, this, it seems
>to me would require 4 lines of python to add the
>correct millenium.  These lines will also be so short
>and waste a lot of blank space on the screen which
>could be devoted to other commands in your function.
>For digestion and organization purposes, it seems like
>it helps to limit your functions (whenever possible)
>to one screen.  Taking up those 4 lines for such a
>simple short 'if' 'else' seems a bit much, no?
Hi Dave,

Perhaps there are situations where a one-line if-else would win you 
something, but I hardly see this as being such a situation.

Aren't you better off just defining a new function:

def millenialize(abbrYear):
    if x < PIVOT_YEAR:
        millenium = 2000
        millenium = 1000
    return millenium + abbrYear

Now, you only have those four lines in one place.  Everywhere you need 
the conversion will only take one line.  Even if you only do the 
conversion in one place, you've just made your program much clearer and 
easier to change.


Aaron Bingham
Application Developer
Cenix BioScience GmbH

More information about the Python-list mailing list