我在排序字典方面遇到了麻烦。我使用以下代码对它们进行排序
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
答案 0 :(得分:2)
您遇到的行为是由于比较变量的类型。要解决此问题,请将其投放到Integer
。
orted(x.iteritems(), key=lambda x: int(x[1]))
最终结果将是:
[('asdl', '1'), ('alpha', '49'), ('testin', '42345')]