检查Python `Counter`中的元素数量

5 投票
1 回答
1567 浏览
提问于 2025-04-16 14:51

Python 2.7和3.1版本引入了一个很棒的功能叫做collections.Counter

我想问的是:我怎么能知道一个计数器里有多少个“元素出现的次数”呢?

我想要这样的结果:

len(list(counter.elements()))

不过希望能更简洁一些。

1 个回答

4

一个更有效的解决方案是把每个元素的数量(值)加起来:

sum(counter.values())

在Python 3.x中,values()会返回一个字典值的视图对象

而在Python 2.x中,values()返回的是一个实际的列表。为了避免在Python 2.x中创建一个新的列表,可以使用itervalues()

sum(counter.itervalues())

撰写回答