From the Python 3.7 changelog:
the insertion-order preservation nature of dict objects has been declared to be an official part of the Python language
No it won't become redundant in Python 3.7 because OrderedDict
is not just a dict
that retains insertion order, it also offers an order dependent method, OrderedDict.move_to_end(), and supports reversed() iteration*.
Moreover, equality comparisons with OrderedDict
are order sensitive and this is still not the case for dict
in Python 3.7, for example:
>>> OrderedDict([(1,1), (2,2)]) == OrderedDict([(2,2), (1,1)])
False
>>> dict([(1,1), (2,2)]) == dict([(2,2), (1,1)])
True
Two relevant questions here and here.
* Support for reversed()
iteration of regular Python dict
is added for Python 3.8, see issue33462