Ram*_*hum 5 python collections counter
Python 2.7/3.1引入了很棒的功能collections.Counter
.
我的问题:我如何计算一个计数器有多少"元素出现"?
我要这个:
len(list(counter.elements()))
Run Code Online (Sandbox Code Playgroud)
但更短.
更有效的解决方案是将每个元素的计数(值)相加:
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)