检查Python `Counter`中的元素数量
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())