
Oct. 20, 2015
6:14 p.m.
On 17.10.2015 04:08, Andrew Barnert via Python-ideas wrote:
Actually, forget all that; it's even simpler.
At least in recent 3.x, the only thing wrong with inheriting from both types, assuming you put OrderedDict first, is the __init__ signature. So:
class OrderedDefaultDict(OrderedDict, defaultdict): def __init__(self, default_factory=None, *a, **kw): OrderedDict.__init__(self, *a, **kw) self.default_factory = default_factory
Not saying that inheritance is a bad thing but to me It seems to me that ordering and default values should be orthogonal aspects of the standard dict. Just as Sandi described it here: https://www.youtube.com/watch?v=29MAL8pJImQ Best, Sven