OrderedDict упорядоченный словарь с опцией сравнения по порядку
Начиная с 3.6 словари в python упорядочены. OrderedDict позволяет сравниваться не только по эквивалентности вхождения, но и с учетом порядка
import collections
d1 = {}
d1['a'] = 'A'
d1['b'] = 'B'
d1['c'] = 'C'
d2 = {}
d2['c'] = 'C'
d2['b'] = 'B'
d2['a'] = 'A'
print(d1 == d2)
>>> True
d1 = collections.OrderedDict()
d1['a'] = 'A'
d1['b'] = 'B'
d1['c'] = 'C'
d2 = collections.OrderedDict()
d2['c'] = 'C'
d2['b'] = 'B'
d2['a'] = 'A'
print(d1 == d2)
>>> False
Метод move_to_end
позволяет перемещать ключи в конец или в начало словаря
d = OrderedDict.fromkeys('abcde')
d.move_to_end('b')
print(''.join(d.keys()))
>>> 'acdeb'
d.move_to_end('b', last=False)
print(''.join(d.keys()))
>>> 'bacde'