MRAB <pyt...@mrabarnett.plus.com> writes: > Arnaud Delobelle wrote: >> "D'Arcy J.M. Cain" <da...@druid.net> writes: >> >>> On Thu, 14 Jan 2010 09:07:47 -0800 >>> Chris Rebert <c...@rebertia.com> wrote: >>>> Even more succinctly: >>>> >>>> def ishex(s): >>>> return all(c in string.hexdigits for c in s) >>> I'll see your two-liner and raise you. :-) >>> >>> ishex = lambda s: all(c in string.hexdigits for c in s) >> >> I'see your one-liner and raise you by four characters :o) >> >> ishex1 = lambda s: all(c in string.hexdigits for c in s) # Yours >> ishex2 = lambda s: not(set(s)-set(string.hexdigits)) # Mine >> > I raise you one character: > > ishex2 = lambda s: not(set(s)-set(string.hexdigits)) # Yours > ishex3 = lambda s: not set(s)-set(string.hexdigits) # Mine
Aha! The Operator Precedence trick! I fold. > I could actually go three better: > > ishex3=lambda s:not set(s)-set(string.hexdigits) In this case, I'll go five better: h=lambda s:not set(s)-set(string.hexdigits) ;-) -- Arnaud -- http://mail.python.org/mailman/listinfo/python-list