[Python-Dev] PEP 455: TransformDict
Steven D'Aprano
steve at pearwood.info
Sat Sep 14 05:33:51 CEST 2013
On Fri, Sep 13, 2013 at 06:40:06PM -0700, Ethan Furman wrote:
> >and if you wanted the transformed key you would apply the transform
> >function to the key.
>
> Indeed. The question is: how? It is entirely possible that your function
> has a TransformDict alone, and no memory of the transform function used to
> create the dict...
>
> If the key transform function were saved directly on the TransformDict
> instance as, say, .transform_key, then problem solved.
While I think it is good and proper to have the transformation function
available, if you're manually applying the transformation function then
IMO chances are good that you've missed the whole point of the
transformdict.
Think of defaultdict. The purpose of defaultdict is to avoid needing to
check whether the key is missing or not. If I suggested that the way
to use a defaultdict was to write code like this:
value = d[key] if key in d else d.default_factory()
I'd be missing the point. Likewise, the point of transformdict is to
avoid needing to care about the transformation function 99% of the
time.
--
Steven
More information about the Python-Dev
mailing list