我有一本字典,其中的值是浮点数。我正在尝试按值的降序对字典进行排序,并且尝试通过按升序对键进行排序来打破联系。

我实现了以下代码来实现此目的:

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/

10-15 12:44