On 6/29/05, Scott David Daniels <[EMAIL PROTECTED]> wrote:
>      result = [(lambda: expr0), lambda: expr1][cond]()

Which still has an error, as evidenced by the following:

>>> cond = ""
>>> result = [(lambda: expr0), lambda: expr1][cond]()
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
TypeError: list indices must be integers

Corrected version:

    result = [(lambda: expr0), lambda: expr1][bool(cond)]()

Or if using python < 2.3:

    result = [(lambda: expr0), lambda:
expr1][__import__("operator").truth(cond)]()

Andrew
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to