"Raymond Hettinger" <[EMAIL PROTECTED]> wrote in message 
news:[EMAIL PROTECTED]
> [Terry Reedy]
>> One is a 'universal dict' that maps every key to something -- the 
>> default if
>> nothing else.  That should not have the default ever explicitly entered.
>> Udict.keys() should only give the keys *not* mapped to the universal 
>> value.
>
> Would you consider it a mapping invariant that "k in dd" implies "k in
> dd.keys()"?
>
> Is the notion of __contains__ at odds with notion of universality?

No and not sure.  I'll leave it to Martin v. Löwis to explain/defend his 
particular notion of a udict.

My main point is that there are multiple legitimate variations of the 
notion of a default dict, so that there is no 'one right way' to design 
one.  I notice that Michael Urman and Ian Bicking said much the same today.

Of course, having said that different variations are useful in different 
situations, I would nowise claim that all variations can serve as drop-in 
replacements for regular dicts everywhere they are now used.

I think that a new default-dict feature should cater to such variations. 
Beyond that, I don't know whether it is better to modify dict (with blank 
hooks) or add a new subclassable default-dict base type.

Terry Jan Reedy



_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to