An OrderedDict remembers the order that you added items to the dictionary, not the sort order.
But you can easily create a sorted list from a regular dictionary. For example:
>>> list1={106:0.33,107:0.21,98:0.56}
>>> sorted(list1.items())
[(98, 0.56), (106, 0.33), (107, 0.21)]
Or if you want it in an OrderedDict, just apply the OrderedDict after the sort:
>>> from collections import OrderedDict
>>>
>>> list1={106:0.33,107:0.21,98:0.56}
>>> OrderedDict(sorted(list1.items()))
OrderedDict([(98, 0.56), (106, 0.33), (107, 0.21)])
But a regular dict has no concept of sort order, so you can't sort the dictionary itself.
However, if you really want that display, you can create your own class:
>>> from collections import OrderedDict
>>> class MyDict(OrderedDict):
... def __repr__(self):
... return '{%s}' % ', '.join(str(x) for x in self.items())
...
>>> list1={106:0.33,107:0.21,98:0.56}
>>> MyDict(sorted(list1.items()))
{(98, 0.56), (106, 0.33), (107, 0.21)}