
Remember the vote on adding conditional expressions?
I'm afraid that the imminent proliferation of xxxcomps may indicate the "right" syntax for this feature, if it ever does get added.
Something like
(a else b if condition)
Now I've done my bad deed for the day. Cheers, Dave

David Abrahams wrote:
Remember the vote on adding conditional expressions?
I'm afraid that the imminent proliferation of xxxcomps may indicate the "right" syntax for this feature, if it ever does get added.
Something like
(a else b if condition)
Now I've done my bad deed for the day.
That's actually an interesting thought. Is there anything to be learned about conditionals by considering the syntactic sugar for list comps and gen comps?
List comp [f(x) for x in original if p(x)]:
def _result(f, p, original): lc = [] for x in original: if p(x): lc.append(f(x)) return lc
Gen comp (f(x) for x in original if p(x)):
def _result(f, p, original): for x in original: if p(x): yield f(x)
Conditional (syntactic sugar not defined): def _result(a, b, p): if p: return a else: return b
Nope, still suggests (a if p else b) to me.
With nesting then being (a if p1 else b if p2 else c if p3 else d).
OK, done now. We can just let that discussion go back into its box. . .
Regards, Nick.
participants (2)
-
David Abrahams
-
Nick Coghlan