Arnaud Delobelle wrote:
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)

;-)

Touché!
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to