New submission from Steele Farnsworth <swfarnswo...@gmail.com>:

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 would be happy to further explain the concept, implementation, potential use 
cases, or anything else that might work towards the adoption of this feature.

----------
components: ctypes
messages: 366157
nosy: Steele Farnsworth
priority: normal
severity: normal
status: open
title: Proposed class for collections: dynamicdict
type: enhancement
versions: Python 3.9

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue40248>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to