(original) (raw)

On 12 September 2013 02:03, Ethan Furman <ethan@stoneleaf.us> wrote:
On 09/11/2013 08:49 AM, Victor Stinner wrote:
2013/9/11 Ethan Furman <ethan@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'\]
That seems backwards to me. I would think that retrieving the keys from the dict would return the transformed keys (I'd call them canonical keys). That way there's no question about which key is stored - it's \*always\* the transformed key.

In fact, I think this might get more traction if it were referred to as a canonicalising dictionary (bikeshedding, I know).

Tim Delaney