expression form of one-to-many dict?

Mike Meyer mwm at mired.org
Tue Dec 21 21:22:53 EST 2004


aleaxit at yahoo.com (Alex Martelli) writes:

> Mike Meyer <mwm at mired.org> wrote:
>
>> bokr at oz.net (Bengt Richter) writes:
>> 
>> > On Sun, 19 Dec 2004 21:29:27 +0100, "Fredrik Lundh"
> <fredrik at pythonware.com> wrote:
>> > (or maybe a restricted unquote_arg function for better safety).
>> > E.g., double back-tick is a syntax error now, so you could write
>> >
>> >     def ternary(c, ``t, ``f):
>> >         if c: return eval(t)
>> >         else: return eval(f)
>> 
>> Actually, I think it would be more pythonic if the indication of
>> non-evaluation happened at the function invocation instead of the
>> function definition. Having it at the function definition makes it
>
> As in, say, calling
>     x = ternary(c, lambda:t, lambda:f)
> ?  The 'lambda:' is a (not nice-looking, but...) "indication of
> non-evaluation"... or am I misundertanding what you're saying?

No, you're saying it exactly right. And that does, indeed, do the
trick. Just a bit ugly is all.

       <mike


-- 
Mike Meyer <mwm at mired.org>			http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.



More information about the Python-list mailing list