我有一个字典
需要按照值的大小来排序键,以便得到一个列表
是否有更简便的方法来做这件事?
{'a': 2, 'b': 0, 'c': 1}
。需要按照值的大小来排序键,以便得到一个列表
['b', 'c', 'a']
。是否有更简便的方法来做这件事?
{'a': 2, 'b': 0, 'c': 1}
。['b', 'c', 'a']
。sorted_keys = sorted(my_dict, key=my_dict.get)
>>> d={'a': 2, 'b': 0, 'c': 1}
>>> [i[0] for i in sorted(d.items(), key=lambda x:x[1])]
['b', 'c', 'a']
试试这个:
import operator
lst1 = sorted(lst.items(), key=operator.itemgetter(1))
有一种简单的方法来实现它。您可以使用 .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