按递减顺序对字典条目进行排序,并打印前n个条目

时间:2012-09-30 14:18:14

标签: python python-3.x python-2.7

  

可能重复:
  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)  

2 个答案:

答案 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]