首页 > 解决方案 > 如何根据Python中值的高低将具有数值的字典转换为列表

问题描述

我有一个字典,其中有一些字符串作为键,一个数字作为值作为排名系统,比如某事的重要性。这是一个例子:

{"eggs": 14, "milk": 8, "flowers":11, "couch":13}

我需要一种方法将其转换为列表并根据它们的值对其进行排序,以便结果为:

["eggs", "couch", "flowers", "milk"]

如您所见,列表顺序基于字典中存在的先前值。有什么我可以用的吗?

标签: pythonlistdictionary

解决方案


您可以将key参数传递给内置的 sorted 函数,如下所示:

d = {"eggs": 14, "milk": 8, "flowers":11, "couch":13}
sorted(d, key=lambda k:d[k], reverse=True)
>> ['eggs', 'couch', 'flowers', 'milk']

推荐阅读