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

Ram*_*hum 5 python collections counter

Python 2.7/3.1引入了很棒的功能collections.Counter.

我的问题:我如何计算一个计数器有多少"元素出现"?

我要这个:

len(list(counter.elements()))
Run Code Online (Sandbox Code Playgroud)

但更短.

Sve*_*ach 4

更有效的解决方案是将每个元素的计数(值)相加:

sum(counter.values())
Run Code Online (Sandbox Code Playgroud)

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

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

sum(counter.itervalues())
Run Code Online (Sandbox Code Playgroud)