4 ms·
> Dictionaries preserve insertion order. (Implemented in 3.6, but now is part of the official spec.) That is a terrible decision. Call me a heretic. Yes, I kn
by bostik 8y ago
> Dictionaries preserve insertion order. (Implemented in 3.6, but now is part of the official spec.)
That is a terrible decision. Call me a heretic.
Yes, I know it's a side effect of bringing in the bitmap index version from PyPy. Yes, I am aware that collections.OrderedDict is now an alias to internal dictionary type. And yes, I do understand that randomising the key traversal order could incur a performance penalty.
But a dictionary where keys come out in anything other than unspecified order is a subtle trap just waiting to blow up. I personally prefer golang's map behaviour - keys are always in unspecified order, and the order is different even between calls.
- uranusjr 8y agoPersonally I feel it is perfectly in line with one of Python’s core mentality, “We’re all grown-ups here.” The bahaviour is like Python lacking real access control: If you don’t think about it, it does not matter[#]; if you need it, it’s incredibly useful. You may not like it, and that’s fine, we agree to disagree. [#]: Well, usually it doesn’t matter, and when it does, you have other ways to achieve similar results.