[Python-ideas] Identity dicts and sets
Masklinn
masklinn at masklinn.net
Wed Jan 2 22:13:57 CET 2013
On 2013-01-02, at 21:37 , Mike Meyer wrote:
> On Wed, Jan 2, 2013 at 2:34 PM, Serhiy Storchaka <storchaka at gmail.com> wrote:
>> середа 02 січень 2013 21:43:47 Eli Bendersky ви написали:
>>> I agree that the data structures may be useful, but is there no way to some
>>> allow the customization of existing data structures instead, without losing
>>> performance? It's a shame to have another kind of dict just for this
>>> purpose.
>>> What interface for the customization is possible? Obviously, a dict
>> constructor can't have a special keyword argument.
>
> How about a set_key method? It takes a single callable as an argument.
> You'd get your behavior with dict.set_key(id). If called when the dict
> is non-empty, it should throw an exception.
Wouldn't it make more sense to provide e.g.
collections.KeyedDictionary(key, seq, **kwargs)? It would be clear
and would allow implementations to provide dedicated implementations for
special cases (such as key=id) if desired or necessary.
defaultdict already follows this pattern, so there's a precedent.
More information about the Python-ideas
mailing list