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 - [email protected]
> > 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 - [email protected]
> 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
_______________________________________________
Tutor maillist - [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor