[EMAIL PROTECTED] wrote: > Hello, > I am using some very large dictionaries with keys that are long strings > (urls). For a large dictionary these keys start to take up a > significant amount of memory. I do not need access to these keys -- I > only need to be able to retrieve the value associated with a certain > key, so I do not want to have the keys stored in memory. Could I just > hash() the url strings first and use the resulting integer as the key? > I think what I'm after here is more like a tradition hash table. If I > do it this way am I going to get the memory savings I am after? Will > the hash function always generate unique keys? Also, would the same > technique work for a set? >
I just realized that of course the hash is not always going to be unique, so this wouldn't really work. And it seems a hash table would still need to store the keys (as strings) so that string comparisons can be done when a collision occurs. I guess there's no avoiding storing they keys? -- http://mail.python.org/mailman/listinfo/python-list