按字典python中的实际值排序

时间:2014-04-22 03:36:28

标签: python sorting dictionary

我在排序字典方面遇到了麻烦。我使用以下代码对它们进行排序

sorted_x = sorted(x.iteritems(), key=operator.itemgetter(1)) 

但问题是排序不是由实际值完成的。

asdl 1
testin 42345
alpha 49

参考:Sorting a dictionary in python

我需要按以下方式排序的项目

asdl 1
alpha 49
testin 42345

1 个答案:

答案 0 :(得分:2)

您遇到的行为是由于比较变量的类型。要解决此问题,请将其投放到Integer

orted(x.iteritems(), key=lambda x: int(x[1]))

最终结果将是:

[('asdl', '1'), ('alpha', '49'), ('testin', '42345')]