On Wed, May 21, 2008 at 8:27 AM, Eric Abrahamsen <[EMAIL PROTECTED]> wrote:
> Hi all,
>
> This is a syntax that I've seen on occasion in other people's code:
>
> theme = (VALID_THEMES[0], theme) [ theme in VALID_THEMES ]
>
> I have no idea how this works, or how to go about looking it up.

This is one way to implement a conditional expression in Python < 2.5.
In general, the expression

(A, B)[bool(C)]

has the value A if bool(C) is false and B if bool(C) is true.

The boolean value is either 0 or 1. It is used as an index into the
tuple to select the desired value.

In Python 2.5 this can be written with the condition expression

B if C else A

or to use your example

theme = theme if (theme in VALID_THEMES) else VALID_THEMES[0]

Kent
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to