Duncan Booth wrote:
> George Sakkis wrote:
>
> > 2) restricting in a more serious sense: the future addition of optional
> > keyword arguments that affect the dict's behaviour. Google for "default
> > dict" or "dictionary accumulator".
>
> There is nothing to stop dictionaries being created using factory functions
> (e.g. see dict.fromkeys). So one possible way to implement defaults would
> be to extend the dict class with a new classmethod 'withdefault' which
> takes a default value as an argument.
>
> However, given that the default argument isn't actually needed during
> construction, it doesn't seem to me that it fits either as a constructor
> parameter nor a factory method. I don't see why it shouldn't just be set on
> an existing dictionary (or dictionary subclass) when you need it.
Because I would find
d = dict(default=0)
d['x'] += 3
more elegant than
d = {}
d.withdefault(0)
d['x'] += 3
YMMV,
George
--
http://mail.python.org/mailman/listinfo/python-list