"Andy Dingley" <[EMAIL PROTECTED]> writes: > c_rot13 = lambdaf c : (((c, uc_rot13(c)) [c in > 'ABCDEFGHIJKLMNOPQRSTUVWXYZ']), lc_rot13(c) )[c in > 'abcdefghijklmnopqrstuvwxyz']
Oh, I see what you mean, you have separate upper and lower case maps and you're asking how to select one in an expression. Pythonistas seem to prefer using multiple statements: def c_rot13(c): if c in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ': return uc_rot13(c) elif c in 'abcdefghijklmnopqrstuvwxyz': return lc_rot13(c) return c You could use the new ternary expression though: c_rot13 = lambda c: \ uc_rot13(c) if c in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' else \ (lc_rot13(c) if c in 'abcdefghijklmnopqrstuvwxyz' else \ c) if I have that right. -- http://mail.python.org/mailman/listinfo/python-list