Desde el registro de cambios de Python 3.7 :
la naturaleza de conservación del orden de inserción de los objetos dict ha sido declarada como parte oficial de la especificación del lenguaje Python.
¿Significaría esto que OrderedDictse volverá redundante? El único uso que se me ocurre será mantener la compatibilidad con versiones anteriores de Python que no conservan el orden de inserción de los diccionarios normales.
python
python-3.x
dictionary
python-3.7
ordereddict
James Hiew
fuente
fuente

Respuestas:
No, no se volverá redundante en Python 3.7 porque
OrderedDictno solodictretiene el orden de inserción, sino que también ofrece un método dependiente del ordenOrderedDict.move_to_end(), y admitereversed()iteración *.Además, las comparaciones de igualdad con
OrderedDictson sensibles al orden y este todavía no es el casodicten Python 3.7, por ejemplo:>>> OrderedDict([(1,1), (2,2)]) == OrderedDict([(2,2), (1,1)]) False >>> dict([(1,1), (2,2)]) == dict([(2,2), (1,1)]) TrueDos preguntas relevantes aquí y aquí .
* Se agregó soporte para la
reversed()iteración de Python regulardictpara Python 3.8, consulte el número 33462fuente