按降序迭代集合的Pythonic方法。Counter()实例?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (38)

在Python2(更准确地说,是2.7)中,我想按递减计数顺序遍历一个收藏品.Counter实例。

>>> import collections
>>> c = collections.Counter()
>>> c['a'] = 1
>>> c['b'] = 999
>>> c
Counter({'b': 999, 'a': 1})
>>> for x in c:
        print x
a
b

在上面的例子中,元素似乎是按照它们被添加到计数器实例的顺序迭代的。

我想从最高到最低来迭代这个列表。我看到计数器的字符串表示就是这样做的,只是想知道是否有一种推荐的方法。

提问于
用户回答回答于
用户回答回答于

下面是在Python集合中迭代计数器的示例:

>>>def counterIterator(): 
 import collections
 counter = collections.Counter()
 counter.update(('u1','u1'))
 counter.update(('u2','u2'))
 counter.update(('u2','u1'))
 for ele in counter:
  print(ele,counter[ele])
>>>counterIterator()
u1 3
u2 3

扫码关注云+社区

领取腾讯云代金券