sorted(score.items(), key=lambda x:-x[1])
должен сделать трюк
Порядок элементов в словаре не определен, поэтому результат сортировки должен быть сохранен в списке (или OrderedDict ).
Вы должны преобразовать его в список кортежей с помощью items (). С помощью sorted () вы можете сортировать их, параметр key указывает сортировать их в соответствии с инверсией второго элемента кортежа.
Полный пример:
>>> score= {1:0.98876, 8:0.12245, 13:0.57689}
>>> sorted(score.items(), key=lambda x:-x[1])
[(1, 0.98875999999999997), (13, 0.57689000000000001), (8, 0.12245)]
>>> print [(y,x) for (x,y) in _]
[(0.98875999999999997, 1), (0.57689000000000001, 13), (0.12245, 8)]
Здесь также показано, как обратить элементы в кортеже, если вы действительно хотите это сделать.