访问与每个元素相关的计数

如果一个元素列表包含以下元素,则其计数如下:

[('a', 1), ('b', 2), ('c', 2),('d', 3), ('e', 3)]

现在,我想找出其中有多少次出现两次,三次。因此,预期的输出将类似于

1:1,2:2,3:2

该列表由Counter函数生成Counter(lst)


Smart猫小萌
浏览 174回答 2
2回答

慕容708150

Counter在values您的第一个上使用另一个Counter。from collections import Counters = 'abbccdddeee'c = Counter(s)counts = Counter(c.values())

森林海

collections.Counter再次使用,但这一次计算每个元组中的第二个元素。from collections import Counterlst = [('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})
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python