0

重複の可能性:
Pythonで順序付き辞書から別の辞書への最初のN個のキーペアを取得する

私は大きな辞書を持っています。これらのエントリを降順に並べ替えてから、最初の 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 に答える