У меня есть словарь, где значения чисел с плавающей точкой. Я пытаюсь сортировать словарь в порядке убывания значений, и я пытаюсь разорвать связи, сортируя ключи в порядке возрастания.Сортировка питона словарь
Я осуществил следующий код для достижения этой цели:
for key, value in sorted(dictionary.items(), key=lambda x: (-x[1], x[0])):
print key, value
Некоторых моих ценностей кажется неуместным.
2315 0.000232471518033
2823 0.000232414850716
3649 0.00023239634392
3695 0.00023239634392
3883 0.00023239634392
3479 0.00023239634392
3562 0.00023239634392
3613 0.00023239634392
В соответствии с приведенной выше строки кода, начиная с 3479 должны быть напечатаны до линии, начиная с 3649.
Любые идеи о том, что может быть не так с тем, как я отсортированный словарь? Имеет ли он какое-либо отношение к точности чисел с плавающей запятой?
Прочтите этот http://stackoverflow.com/questions/9001509/how-can-i-sort-a-dictionary-by-key – grael
Возможный дубликат [Сортировка словаря Python по значению] (http: // stackoverflow .com/вопросы/613183/сортировать-а-питон-словаря по значению) – FallenAngel
@grael OP сортировка по значению, или, вернее, лексикографически '(значение, ключ)' – dhke