繁体   English   中英

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

[英]How to sort keys of dict by values?

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

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

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

 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM