在python中使用float值对字典进行排序

时间:2015-10-21 15:25:53

标签: python

我按照浮点值升序排序字典。这是我的代码

dicdata = {'mike': 15.12, 'jenny': 2.53, 'glenn' : 5.16, 'Meo': 1.01}

sorted_dicdata = sorted(dicdata.items(), key=operator.itemgetter(1), reverse=True)

输出不准确。它给了我 格伦:5.16 迈克:15.12 珍妮:2.53 MEO:1.01 我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

如果您希望从十进制到升序

,则以下代码有效
    >>> import operator
    >>> print sorted(dicdata.items(), key=operator.itemgetter(1))
    [('Meo', 1.01), ('jenny', 2.53), ('glenn', 5.16), ('mike', 15.12)]

答案 1 :(得分:0)

以下正确排序字典(Python 2.7.9和Python 3.4.2)

>>> import operator
>>> dicdata={'mike':15.12, 'jenny':2.53, 'glenn': 5.16, 'Meo': 1.01}
>>> sorted_dicdata = sorted(dicdata.items(), key=operator.itemgetter(1),        reverse=True)
>>> sorted_dicdata
[('mike', 15.12), ('glenn', 5.16), ('jenny', 2.53), ('Meo', 1.01)]

我在字典键周围加上引号,因为我认为它们是字符串。