Проблема со словарями в том, что они обычно не сохраняют порядок.Даже с изменениями Python 3.6 в реализации dict, документы говорят, что «на сохраняющий порядок аспект этой новой реализации [...] не следует полагаться». Здесь - еще один вопрос SO, в котором это подробно объясняется, особенно обратите внимание на ответ Martijn Pieters.Вот как вы можете создать нужную сортировку на основе ваших данных.Обратите внимание, что я попытался немного упростить алгоритм сортировки, который, насколько я понял, сортирует по максимуму массива в значениях to_sort
:
from collections import OrderedDict
ordered = OrderedDict(sorted(to_sort.items(), key=lambda item:np.max(item[1])))
Итерирует по нему, какэто даст вам ключи и значения со значениями в отсортированном порядке:
for key, value in ordered.items():
print(key, value)