添加密鑰如果計數器對象的鍵的類型是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