On 09/11/2013 08:49 AM, Victor Stinner wrote:
2013/9/11 Ethan Furman <et...@stoneleaf.us>:
He isn't keeping the key unchanged (notice no white space in MAPPING), he's
merely providing a function that will automatically strip the whitespace
from key lookups.

transformdict keeps the key unchanged, see the first message:

    >>> d = transformdict(str.lower)
    >>> d['Foo'] = 5
    >>> d['foo']
    5
    >>> d['FOO']
    5
    >>> list(d)
    ['Foo']

'Foo' is stored as 'Foo', not as 'foo'. So for stripped keys:

d=transformdict(str.strip); d['   abc   ']; print(list(d))

should print "['   abc   ']", not "['abc']".

And indeed it does:

Python 3.4.0a1+ (default:833246d42825+, Aug 31 2013, 14:17:59)
[GCC 4.7.3] on linux
Type "help", "copyright", "credits" or "license" for more information.
--> from collections import transformdict
--> d=transformdict(str.strip); d['   abc   '] = 42; print(list(d))
['   abc   ']

Is it the expected result?

Yup!  :)

--
~Ethan~
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to