如何按值对dict键进行排序?

时间:2016-05-17 07:45:02

标签: python dictionary lambda

我有一个字典{'a': 2, 'b': 0, 'c': 1}

需要按值对键进行排序,以便我可以获得列表['b', 'c', 'a']

有没有简单的方法可以做到这一点?

5 个答案:

答案 0 :(得分:5)

 sorted_keys = sorted(my_dict, key=my_dict.get)

答案 1 :(得分:2)

试试这个:

import operator
lst1 = sorted(lst.items(), key=operator.itemgetter(1))

答案 2 :(得分:2)

{{1}}

答案 3 :(得分:1)

有一种简单的方法可以做到这一点。 您可以使用.items()来获取键值,并使用sorted来相应地对它们进行排序。

# app/views/posts/index.rabl
object @post

node(:details) do
  {:id => @post.id}
end

答案 4 :(得分:0)

>>> d = {'a':2, 'b':0, 'c':1}
>>> sor = sorted(d.items(), key=lambda x: x[1])
>>> sor
[('b', 0), ('c', 1), ('a', 2)]
>>> for i in sor:
...     print i[0]
...
b  
c 
a