Словарь не имеет никакого смысла в заказе, поэтому ваши пары ключ/значение не упорядочены в любом формате.
Если вы хотите сохранить порядок клавиш, вы должны использовать collections.OrderedDict
с самого начала, а не с помощью обычного словаря, пример -
>>> from collections import OrderedDict
>>> d = OrderedDict([('a',1),('b',2),('c',3)])
>>> d
OrderedDict([('a', 1), ('b', 2), ('c', 3)])
OrderedDict бы сохранить порядок, в котором ключи были введены в словарь. В описанном выше случае, было бы порядок, в котором существовали ключи в списке - [('a',1),('b',2),('c',3)]
-
Тогда вы можете получить обратный порядок ключей с использованием reversed(d)
, пример -
>>> dreversed = OrderedDict()
>>> for k in reversed(d):
... dreversed[k] = d[k]
...
>>> dreversed
OrderedDict([('c', 3), ('b', 2), ('a', 1)])
Python словари не упорядочены. – Delgan