[Python-Dev] PEP 455: TransformDict

Georg Brandl g.brandl at gmx.net
Sat Sep 14 07:21:00 CEST 2013


On 09/13/2013 11:45 PM, Antoine Pitrou wrote:
> On Fri, 13 Sep 2013 23:18:39 +0300
> Serhiy Storchaka <storchaka at gmail.com> wrote:
>> 13.09.13 23:02, Antoine Pitrou написав(ла):
>> > On Fri, 13 Sep 2013 16:54:01 -0300
>> > "Joao S. O. Bueno" <jsbueno at python.org.br> wrote:
>> >> I see the PEP does not contemplate a way to retrieve the original key
>> >> - like we've talked about somewhere along the thread.
>> >
>> > Indeed. If that's important I can add it. I was hoping to keep very
>> > close to the MutableMapping API, to make the PEP as few
>> > controversial as possible.
>> 
>> I think that's important. As OrderectDict has additional methods besides 
>> the MutableMapping API, so TransformDict should provide useful 
>> specialized methods.
> 
> Ok, I have a better (IMO) proposal:
> 
>     >>> d = TransformDict(str.casefold, {'Foo': 1})
>     >>> d.getitem('foo')
>     ('Foo', 1)
>     >>> d.getitem('bar')
>     Traceback (most recent call last):
>       File "<stdin>", line 1, in <module>
>     KeyError: 'bar'

Except that getitem is very close to __getitem__, which will be confusing.
(Although it would be the correct name, and __getitem__ is the wrong one).

cheers,
Georg



More information about the Python-Dev mailing list