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