Le Wed, 11 Sep 2013 12:38:13 +0300, Serhiy Storchaka email@example.com a écrit :
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 :-)
- 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.