以存在的次数循环计数器的方法?

时间:2016-09-24 00:46:29

标签: python

我正在使用collections.Counter,我正在尝试遍历元素。但是,如果我有t=Counter("AbaCaBA")并使用for循环打印每个元素,它只会打印每个字母中的一个:

   for i in t:
       print(i)

会打印:

    a
    C
    A
    b
    B

我将如何以一种打印每个字母的方式循环播放它?如,2 A,2 a,1 b,1 B,1 C。

编辑:显然有一个名为elements()的方法可以达到这个目的。

2 个答案:

答案 0 :(得分:1)

当您遍历Counter时,您正在迭代键。为了在同一时间获得计数,您可以执行以下操作:

for i, count in t.items():
    print('{} {}s'.format(count, i))

答案 1 :(得分:1)

在发布此内容后不久发现了elements()方法:https://docs.python.org/3/library/collections.html#collections.Counter

它返回一个迭代器,它重复每个元素的次数,忽略计数为< 1

的元素
    for i in t.elements():
         print(i)