Hacker News new | ask | show | jobs
by coldtea 2697 days ago
Dictionaries should not be assumed to keep their orderings anyway.

That's why there's OrderredDict.

Unless the language explicitly says that dicts hold their order, even if they do, it's an implementation detail, and it should not be relied upon.

2 comments

As of 3.7 (3.6 for cpython), dictionaries have a deterministic order.
What's the best way to write code that relies on this deterministic order and prevent it from running incorrectly with older python versions?
Import collections.OrderedDict as you would have done beforehand. There are still some differences between them.

(Dicts in 3.7 and ordered dicts)

https://stackoverflow.com/questions/50872498/will-ordereddic...

If "the language explicitly says" something, then it's part of the specification and not an implementation detail.
Sure, hence the "unless" I've used.