I have often wanted this! I use defaultdict only occasionally, and every
time I do, I start out thinking it behaves the way you describe
dynamicdict. Then I read the docs again and decide I didn't actually want
defaultdict to start with, and roll something different.

On Fri, Apr 10, 2020, 6:50 PM Steele Farnsworth <swfarnswo...@gmail.com>
wrote:

> I have implemented a class in the C code of the collections module which
> has similar behavior to the defaultdict class. This class, dynamicdict,
> supplies values for keys that have not yet been added using a default
> factory callable, but unlike defaultdict, the missing key itself is passed
> to the callable. This code can be seen here:
> https://github.com/swfarnsworth/cpython/blob/3.8/Modules/_collectionsmodule.c#L2234
>
> While this does introduce a lot of redundant code, I'm not sure how it
> could be done without copying the implementation of the defaultdict class
> and adjusting how the default factory is called. For example, I don't
> believe that it's possible to support both behaviors within the defaultdict
> class without breaking backwards compatibility or adding another parameter
> to the constructor for the defaultdict class.
>
> I don't know if a PEP is needed for this to be added to the standard
> library, or if it's something that anyone other than myself wants to see
> added, but I would be happy to further explain the concept, implementation,
> potential use cases, or anything else that might work towards the adoption
> of this feature.
>
> Regards,
> Steele
> _______________________________________________
> Python-ideas mailing list -- python-ideas@python.org
> To unsubscribe send an email to python-ideas-le...@python.org
> https://mail.python.org/mailman3/lists/python-ideas.python.org/
> Message archived at
> https://mail.python.org/archives/list/python-ideas@python.org/message/XYSY3K4O6AYSIIGOJGIO5XKNBHOM6B5S/
> Code of Conduct: http://python.org/psf/codeofconduct/
>
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/5EO3ULNYLD226W5WCCXS4XEAKJIFYUTO/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to