PEP 308: Obfuscated Nested Ternaries (INACAIS)
Peter Hansen
peter at engcorp.com
Thu Feb 20 11:04:44 EST 2003
Duncan Booth wrote:
>
> Who needs ternaries?
>
> def silly(x, y, t, l, b, r, tl, tr, bl, br):
> actions = {
> ( 1, 1): lambda: (tl, br, b, br, r, br),
> ( 1, 0): lambda: ( l, r, t, r, b, r),
> ( 1,-1): lambda: (bl, tr, t, tr, r, tr),
> ( 0, 1): lambda: ( t, b, l, b, r, b),
> ( 0, 0): lambda: (tl, tr, br, bl, tl),
> ( 0,-1): lambda: ( b, t, l, t, r, t),
> (-1, 1): lambda: (tr, bl, b, bl, l, bl),
> (-1, 0): lambda: ( r, l, t, l, b, l),
> (-1,-1): lambda: (br, tl, t, tl, l, tl)
> }
>
> seq = actions[cmp(x,0), cmp(y,0)]()
> return seq
Why is the lambda required? Aren't you just retrieving
a tuple?
(But your point is excellent. Didn't the timbot once generate
something words about every problem in Python being solvable
with dicts?)
-Peter
More information about the Python-list
mailing list