可能重复:
Get first N key pairs from an Ordered Dictionary to another one in python
我有一本大字典。如何按递减顺序对这些条目进行排序,然后打印前n个项目?要在字典中打印已排序的项目,我使用以下代码:
print sorted(mydictionary.iteritems(), key=operator.itemgetter(1), reverse=True)
答案 0 :(得分:5)
您可以使用heapq.nlargest
:
import heapq
print heapq.nlargest(n, mydictionary.iteritems())
通常这与效率方面大致相同(排序然后切片),但是对于非常大的词典和小n
它稍微快一些(分析要遵循)。它有易于阅读的好处!
答案 1 :(得分:2)
您可以打印切片:
print sorted(mydictionary.items(), key=operator.itemgetter(1), reverse=True)[:10]