添加密钥如果计数器对象的键的类型是str
,即:添加单个字符柜台
我可以这样做:
>>> vocab_counter = Counter("the lazy fox jumps over the brown dog".split())
>>> vocab_counter = Counter({k+u"\uE000":v for k,v in vocab_counter.items()})
>>> vocab_counter
Counter({'brown\ue000': 1,
'dog\ue000': 1,
'fox\ue000': 1,
'jumps\ue000': 1,
'lazy\ue000': 1,
'over\ue000': 1,
'the\ue000': 2})
这将是一个快速和/或pythonic的方式来添加一个字符到所有的键?
上述方法是否可以通过将字符附加到所有键来实现最终计数器的唯一方法?是否有其他方式来实现相同的目标?
我认为你这样做的方式似乎很不错......你期待什么样的改进?所用的时间?代码行? – Shadow
不是代码行,只是想知道是否有更好的方法。多次遍历所有密钥并不是非常理想的。也许我必须将其转储到数据框或numpy数组,然后再读回到计数器。 – alvas
我不认为这会更好......这种方式将涉及创建拆分字符串的列表,操纵它们中的每一个,然后对它们进行计数。目前它正在关闭的方式只涉及每个独特的词 - 所以如果计算一本小说它会更干净和有效率(无论如何,我认为)唯一的改变是创建一个字典,而不是在你最后一步计数器,因为你不需要再计算了(我假设) – Shadow