For review: PEP 308 - If-then-else expression
Paul Moore
gustav at morpheus.demon.co.uk
Fri Feb 7 16:05:27 EST 2003
More information about the Python-list mailing list
Fri Feb 7 16:05:27 EST 2003
- Previous message (by thread): For review: PEP 308 - If-then-else expression
- Next message (by thread): For review: PEP 308 - If-then-else expression
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Andrew Koenig <ark at research.att.com> writes: > Harvey> What about a built-in function? > > Harvey> iff(<condition>, <trueresult>, falseresult) which returns > Harvey> <trueresult> if <condition> is true, otherwise returns > Harvey> <falseresult > > If it were a function, it would have to evaluate all of its arguments. > Part of the point is that only one of the two results is evaluated. Interestingly (maybe), your example from another post strs = [("?" if i < 0 else str(i)) for i in ints] didn't need only one of the results to be evaluated. I'd be interested to know how many real cases would actually rely on short-circuit evaluation. And those that don't can quite happily be handled with def iff(cond, trueval, falseval): if cond: return trueval else: return falseval (oh, and this function is short enough, and I expect its use to be rare enough, that I see no need for it to be builtin). But I do agree that if anything justifies the need for conditional expressions, it's use in lambda and list comprehensions. Personally, I don't see enough of a need to be worth it, though. Paul. -- This signature intentionally left blank
- Previous message (by thread): For review: PEP 308 - If-then-else expression
- Next message (by thread): For review: PEP 308 - If-then-else expression
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list