2012-07-10 76 views
0

我有一個計數器對象,看起來像這樣:迭代,以便在計數器對象

counts = Counter({'foo': 10, 'baz': 5, 'biff': 3, 'bonk': 1}) 

for k, v in counts.items(): 
    print k, v 

    bonk 1 
    foo 10 
    baz 5 
    biff 3 

什麼是降值的頻率反覆在櫃檯對象的最佳方式?速度很重要。文檔中有一個OrderCounter類,但我正在尋找更簡單的東西。

+4

counts.most_common() – jfs 2012-07-10 18:07:56

+3

順便說一句,如果速度是重要,那麼['計數器()'可能不是最好的(http://stackoverflow.com/a/2525617/ 4279) – jfs 2012-07-10 18:26:35

回答

3

使用Counter.most_common()

>>> counts = Counter({'foo': 10, 'baz': 5, 'biff': 3, 'bonk': 1}) 
>>> for k, v in counts.most_common(): 
    print k, v 
foo 10 
baz 5 
biff 3 
bonk 1