Le Thu, 12 Sep 2013 08:05:44 -0700, Ethan Furman <et...@stoneleaf.us> a écrit : > On 09/12/2013 07:43 AM, Antoine Pitrou wrote: > > > > Yeah, so this is totally silly. What you're basically saying is "we > > don't need TransformDict since people can re-implement it > > themselves". > > No, what I'm saying is that the "case-preserving" aspect of > transformdict is silly. The main point of transformdict is to > enable, for example, 'IBM', 'Ibm', and 'ibm' to all match up as the > same key. But why? Because you don't trust the user data. And if > you don't trust the user data you have to add the correct version of > the key yourself before you ever process that data, which means you > already have the correct version stored somewhere.
That's assuming there is an a priori "correct" version. But there might not be any. Keeping the original key is important for different reasons depending on the use case: - for case-insensitive dicts, you want to keep the original key for presentation, logging and debugging purposes (*) - for identity dicts, the original key is mandatory because the id() value in itself is completely useless, it's just used for matching (*) For a well-known example of such behaviour, think about Windows filesystems. Regards Antoine. _______________________________________________ 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