我有一本字典,其中包含一些字符串作为键,并包含一个数字作为值来充当排名系统,例如某件事的重要性。这是一个例子:
{"eggs": 14, "milk": 8, "flowers":11, "couch":13}
我需要一种将其转换为列表并根据其值进行排序的方法,以使结果为:
["eggs", "couch", "flowers", "milk"]
如您所见,列表顺序基于字典中存在的先前值。
有什么我可以使用的吗?
最佳答案
您可以将key
参数传递给内置的排序函数,如下所示:
d = {"eggs": 14, "milk": 8, "flowers":11, "couch":13}
sorted(d, key=lambda k:d[k], reverse=True)
>> ['eggs', 'couch', 'flowers', 'milk']