【发布时间】:2016-05-17 07:45:01
【问题描述】:
我有一个字典{'a': 2, 'b': 0, 'c': 1}。
需要按值对键进行排序,以便我可以得到一个列表['b', 'c', 'a']
有什么简单的方法吗?
【问题讨论】:
标签: python dictionary lambda
我有一个字典{'a': 2, 'b': 0, 'c': 1}。
需要按值对键进行排序,以便我可以得到一个列表['b', 'c', 'a']
有什么简单的方法吗?
【问题讨论】:
标签: python dictionary lambda
sorted_keys = sorted(my_dict, key=my_dict.get)
【讨论】:
试试这个:
import operator
lst1 = sorted(lst.items(), key=operator.itemgetter(1))
【讨论】:
>>> d={'a': 2, 'b': 0, 'c': 1}
>>> [i[0] for i in sorted(d.items(), key=lambda x:x[1])]
['b', 'c', 'a']
【讨论】:
有一个简单的方法来做到这一点。 您可以使用 .items() 获取键值并使用 sorted 对它们进行相应的排序。
dictionary = sorted(dictionary.items(),key=lambda x:x[1])
【讨论】:
>>> 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
【讨论】: