我有一本字典,其中的值是浮点数。我正在尝试按值的降序对字典进行排序,并且尝试通过按升序对键进行排序来打破联系。
我实现了以下代码来实现此目的:
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开头的行之前打印。
关于我对字典排序的方式可能有什么问题的任何想法?
它与浮点数的精度有关吗?
最佳答案
它与浮点数的精度有关吗?
是。
>>> 0.0002323963439201
0.0002323963439201
>>> print 0.0002323963439201
0.00023239634392
关于python - 排序python字典,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33075857/