按当前次数循环计数器的方法?

2024-10-04 09:30:14 发布

您现在位置: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

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


Tags: 方法in目的元素for字母counterelements
2条回答

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

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

    for i in t.elements():
         print(i)

当你在一个Counter上迭代时,你就是在对键进行迭代。为了同时获得计数,您可以执行以下操作:

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

相关问题 更多 >