首页 > 解决方案 > 按值排序字典

问题描述

我有一个整数字典。

d = {'jjd':2,'ddf':1,'kik':3}

不过,它的时间要长得多。我想按从最高到最低的值排序。但我真的希望在数组中返回结果,所以我可以像这样迭代它:

for x in results:
    print d[x]

这应该打印出来: ['kik','jjd','ddf']

标签: pythonlinux

解决方案


您可以执行以下操作收集 dicts 项的键,按降序排列:

results = [k for k, v in sorted(d.items(), key=lambda i: i[1], reverse=True)]
# ['kik', 'jjd', 'ddf']

推荐阅读