[Python-ideas] An identity dict

Lie Ryan lie.1296 at gmail.com
Sun May 30 11:07:46 CEST 2010


On 05/30/10 13:27, Benjamin Peterson wrote:
> In the spirit of collections.OrderedDict and collections.defaultdict, I'd like
> to propose collections.identitydict. It would function just like a normal
> dictionary, but ignore hash values and comparison operators and merely lookup
> keys based on the key's id().
> 
> This dict is very useful for keep track of objects that should not be compared
> by normal comparison methods. For example, I would use an identitydict to hold
> weak references that would otherwise fallback to their referant object's hash.

what's wrong with dict[id(key)] = foo?

> An advantage of formalizing this in collections would be to enable other Python
> implementations like PyPy, where id() is expensive, to provide an optimized
> identitydict.

that their id() is expensive is implementation details, and the
developer of PyPy should solve that instead of adding a clutch to the
stdlib.




More information about the Python-ideas mailing list