按计数器对象的顺序迭代

时间:2012-07-10 18:05:44

标签: python

我有一个Counter对象,如下所示:

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

通过降低值的频率来迭代Counter对象的最佳方法是什么?速度很重要。文档中有一个OrderCounter类,但我正在寻找更简单的东西。

1 个答案:

答案 0 :(得分: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