It should be enough but it might be a little slower than hash(string). Diez B. Roggisch wrote: > [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. > > python dictionaries are "traditional" hash-tables. > > > 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? > > > > Any other thoughts or considerations are appreciated. > > You could try and create a md5 sum of your strings and use that as key. It > _should_ be good enough, but I'm no crypto expert so take that with a grain > of salt. > > Diez
-- http://mail.python.org/mailman/listinfo/python-list