我正在用Python编写一些涉及使用Counter
类的东西,就像名字所暗示的那样:逐个计算项目。每当我想要计算某些内容时,我都会将其中的一个元素列表提供给Counter.update
:
from collections import Counter
c = Counter()
c.update(["foo"]) # Works, but do I really need to create a list every time I want to do this?
这是正确的方法吗?创建列表感觉很尴尬。我一直在寻找这样的东西:
c.add("bar") # Method doesn't exist
创建我自己的Counter子类似乎相当轻松,但如果可能的话,处理设计的内置类会更好,我想知道我是否遗漏了什么。
class MyCounter(Counter):
def add(self, item):
self.update([item])
c2 = MyCounter()
c2.add("bar") # Now it works