On 1/29/2010 5:03 AM spir said...
Hello,

What actually is hashed when a data item is used a dict key? If possible, I 
would also like some clues on the method used to produce the hash value. (Maybe 
a pointer to the the relevant part of the python source, if clear and/or 
commented.)

The reason why I ask is the well known limitation for dict keys to be immutable 
data (same for sets, indeed). This seems to imply that the value itself is used 
as source for the hash func. Or am I wrong on this?
I recently discovered that Lua uses the data's address (read: id) as input to 
the hash func. This allows Lua tables (a kind of more versatile associative 
array) to use _anything_ as key, since the id is guaranteed not to change, per 
definition.
[Aside this consideration, hashing addresses ensures a constant type as input 
(so allows a specific efficient hash method) and the simplest possible one.]

So, how does python do this?


Start here...

http://effbot.org/zone/python-hash.htm

Emile

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to