python - 如何根据Python中值的高低将具有数值的字典转换为列表
问题描述
我有一个字典,其中有一些字符串作为键,一个数字作为值作为排名系统,比如某事的重要性。这是一个例子:
{"eggs": 14, "milk": 8, "flowers":11, "couch":13}
我需要一种方法将其转换为列表并根据它们的值对其进行排序,以便结果为:
["eggs", "couch", "flowers", "milk"]
如您所见,列表顺序基于字典中存在的先前值。有什么我可以用的吗?
解决方案
您可以将key
参数传递给内置的 sorted 函数,如下所示:
d = {"eggs": 14, "milk": 8, "flowers":11, "couch":13}
sorted(d, key=lambda k:d[k], reverse=True)
>> ['eggs', 'couch', 'flowers', 'milk']