我有一本大字典。如何按降序对这些条目进行排序,然后打印前 n 个项目?要打印字典中的排序项目,我使用以下代码:
print sorted(mydictionary.iteritems(), key=operator.itemgetter(1), reverse=True)
我有一本大字典。如何按降序对这些条目进行排序,然后打印前 n 个项目?要打印字典中的排序项目,我使用以下代码:
print sorted(mydictionary.iteritems(), key=operator.itemgetter(1), reverse=True)
您可以使用heapq.nlargest
:
import heapq
print heapq.nlargest(n, mydictionary.iteritems())
通常这在效率方面大致相同(排序然后切片),但是对于非常大的字典和小的字典来说,n
它会稍微快一些(接下来的分析)。它的好处是易于阅读!
然后你可以打印一个切片:
print sorted(mydictionary.items(), key=operator.itemgetter(1), reverse=True)[:10]