Comment by baq
dicts ordering keys in insertion order isn't an implementation detail anymore and hasn't been for years.
dicts ordering keys in insertion order isn't an implementation detail anymore and hasn't been for years.
Readability, reproducibility, and simple LRU.
Reproducibility matters for tests, they become simpler. Some other algorithms become simpler as well.
LRU is just a dict with preserving order: on access just delete and insert again.
I get that all dicts are now effectively an `collections.OrderedDict`, but I've never seen practical code that uses the insertion order. You can't do much with that info (no `.pop()`, can't sort a dict without recreating it) beyond maybe helping readability when you print or serialize it.