Writing a string.ishex function

MRAB python at mrabarnett.plus.com
Fri Jan 15 13:14:28 EST 2010


Duncan Booth wrote:
> MRAB <python at mrabarnett.plus.com> wrote:
> 
>> Duncan Booth wrote:
>>> MRAB <python at mrabarnett.plus.com> wrote:
>>>
>>>> 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
>>>>
>>>> I could actually go three better:
>>>>
>>>> ishex3=lambda s:not set(s)-set(string.hexdigits)
>>> But none of those pass your own "ishex('') should return False" test.
>> Neither do the others!
> 
> That's true, but since you were the one that pointed out they were all 
> broken I would have thought your solution should actually work.
> 
> I'm sure you'll agree that a longer solution that works trumps any short 
> but broken solution.

I believe that the rules of the character-counting game don't require
correctness, only that it's no worse.

A real solution would use 'def', have a docstring, etc, of course.



More information about the Python-list mailing list