如果一个元素列表包含以下元素,则其计数如下:[('a', 1), ('b', 2), ('c', 2),('d', 3), ('e', 3)]现在,我想找出其中有多少次出现两次,三次。因此,预期的输出将类似于1:1,2:2,3:2该列表由Counter函数生成Counter(lst)
2 回答

慕容708150
TA贡献1831条经验 获得超4个赞
Counter在values您的第一个上使用另一个Counter。
from collections import Counter
s = 'abbccdddeee'
c = Counter(s)
counts = Counter(c.values())

森林海
TA贡献2011条经验 获得超2个赞
collections.Counter再次使用,但这一次计算每个元组中的第二个元素。
from collections import Counter
lst = [('a', 1), ('b', 2), ('c', 2),('d', 3), ('e', 3)]
print(Counter(x[1] for x in lst)) # x[1] takes second element from each tuple.
# Counter({2: 2, 3: 2, 1: 1})
添加回答
举报
0/150
提交
取消