0

可能重复:
从有序字典中获取前 N 个密钥对到 python 中的另一个

我有一本大字典。如何按降序对这些条目进行排序,然后打印前 n 个项目?要打印字典中的排序项目,我使用以下代码:

print sorted(mydictionary.iteritems(), key=operator.itemgetter(1), reverse=True)  
4

2 回答 2

5

您可以使用heapq.nlargest

import heapq
print heapq.nlargest(n, mydictionary.iteritems())

通常这在效率方面大致相同(排序然后切片),但是对于非常大的字典和小的字典来说,n它会稍微快一些(接下来的分析)。它的好处是易于阅读!

于 2012-09-30T14:35:44.843 回答
3

然后你可以打印一个切片:

print sorted(mydictionary.items(), key=operator.itemgetter(1), reverse=True)[:10]
于 2012-09-30T14:20:14.533 回答