[Python-Dev] Add a "transformdict" to collections
Antoine Pitrou
solipsis at pitrou.net
Wed Sep 11 11:52:59 CEST 2013
Le Wed, 11 Sep 2013 12:38:13 +0300,
Serhiy Storchaka <storchaka at gmail.com> a écrit :
> 2. Subclassing.
>
> class CaseInsensitiveDict(TransformDict):
> def transform(self, key):
> return key.casefold()
> d = CaseInsensitiveDict(Foo=5)
I thought about this first, and then I remembered that python-dev isn't
generally very keen on subclassing-based APIs :-)
> 3. Type generator.
>
> d = TransformDict(str.casefold)(Foo=5)
>
[...]
>
> Third method allows you to customize other aspects of dict behavior
> (combine OrderedDict, defaultdict,..).
Well, no, it's not that easy. Especially since OrderedDict and
defaultdict weren't written with combination in mind.
Regards
Antoine.
More information about the Python-Dev
mailing list