[Tutor] Is there a test for hashability?
Chris Fuller
cfuller084 at thinkingplanet.net
Thu Sep 1 21:29:15 CEST 2011
On Thursday 01 September 2011, Chris Fuller wrote:
> On Thursday 01 September 2011, Richard D. Moores wrote:
> > Thanks, James, from your ideas I've come up with this function as a
> > general test for hashibility of any object:
> >
> > def is_hashable(object):
> > try:
> > if hash(object):
> > return True
> >
> > except TypeError:
> > return False
> >
> > But is it? It returns True for ints, floats, sets, tuples, strings,
> > functions; and False for lists
> >
> > Dick
> > _______________________________________________
> > Tutor maillist - Tutor at python.org
> > To unsubscribe or change subscription options:
> > http://mail.python.org/mailman/listinfo/tutor
>
> You shouldn't be checking the truth value of the hash. If it's zero, this
> function will fall through and return None!
>
> def is_hashable(object):
> try:
> hash(object):
> return True
> except TypeError:
> return False
>
> Is what you want.
>
> Cheers
> _______________________________________________
> Tutor maillist - Tutor at python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor
*Ahem*
def is_hashable(object):
try:
hash(object)
except TypeError:
return False
return True
More information about the Tutor
mailing list