Op 2004-12-22, Nick Coghlan schreef <[EMAIL PROTECTED]>: >> I'm currently not under the impression I'm able to. Sure I could >> implement the above mentioned classes, but my feeling is that >> should I present them here, nobody would be waiting for them. >> Not because they would be unusfull, but because they go against >> the current paradigm. > > As I see it, you have a couple of courses available: > > If you're into pain, consider further developing the 'rehash' idea, and the > option of adding hash methods to the mutable builtins. You've persuaded me > that > the idea is not entirely unreasonable. However, I mention pain, because you'd > still have work to do persuading enough people (including me) that the > additional hard to detect bugs this adds to the language would be worth it. > > I don't really recommend that option.
How about this: from UserDict import UserDict class RehashableDict(UserDict): def rehash(self): dic = {} for k,v in self.data.iteritems(): dic[k] = v self.data = dic This works as far as I have tested things out. I don't think I would recommend adding hash methods to mutable builtins. Storing keys by identity or value both can make sense for these kind of objects. And since python prefers not to guess I think it is a good thing there is no default hash for mutable objects. -- Antoon Pardon -- http://mail.python.org/mailman/listinfo/python-list