Sort a Dictionary in Python Based on its Keys (when all keys are ints)
Basically, I have a dictionary where all the keys are ints where the highest keys are at the en开发者_Go百科d of the list and the lower keys are at the start (sort of like a list).
Note I can't use a list for reasons I won't go into.
Python's ordered dictionary is what you are looking for. For example
>>> from collections import OrderedDict
>>> data = {4:'str1', 19:'str2', 1:'str3', 7:'str4'}
>>> orderedData = OrderedDict(sorted(data.items()))
>>> orderedData
OrderedDict([(1, 'str3'), (4, 'str1'), (7, 'str4'), (19, 'str2')])
You can still deal with an OrderedDict
the same way you can deal with a normal dictionary, so
>>> orderedData[1]
'str3'
>>> orderedData[11] = 'str5'
>>> orderedData
OrderedDict([(1, 'str3'), (4, 'str1'), (7, 'str4'), (19, 'str2'), (11, 'str5')])
Also, this will work with any kind of key, ints
not required.
精彩评论