我正在使用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()的方法可以达到这个目的。
答案 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)