【发布时间】:2017-03-22 15:30:50
【问题描述】:
假设我有这本字典:
{"A":3,"B":4,"H":1,"K":8,"T":0}
我想获取最高 3 个值的键。所以在这种情况下,我将获得密钥:K、B 和 A
【问题讨论】:
-
使用
d = {"A":3,"B":4,"H":1,"K":8,"T":0},你可以做dict(sorted(d.iteritems(), key=operator.itemgetter(1), reverse=True)[:3]).keys(),打印['A', 'K', 'B'] -
不完全重复——这个问题要求 3(或 N)个最大的,另一个问题的答案是让整个 dict 按值排序。在许多情况下,您可以使用
heapq.nlargest更有效地获得最大的N:import heapq; heapq.nlargest(3, my_dict, key=my_dict.get)。 -
想知道这是否可以扩展以更轻松地覆盖
getting middle 3 items的情况?只是好奇。
标签: python python-2.7 dictionary max