如何获得字典中最大的n个值,但保持其位置



原字典为:

{'gfg': 1, 'best': 6, 'geeks': 3, 'for': 7, 'is': 4}

最上面的N = 3值对是['for', 'best', 'is'](按值排序),但我需要['best', 'for', 'is'](原始字典顺序)。

字典是按插入顺序排列的,但我们不能真正谈论位置。一个可接受的解决方案是:

>>> d = {'gfg': 1, 'best': 6, 'geeks': 3, 'for': 7, 'is': 4}
>>> cutoff = sorted(d.values())[-3]
>>> [k for k, v in d.items() if v >= cutoff][:3]
['best', 'for', 'is']

相关内容

  • 没有找到相关文章

最新更新