我從一堆或多封電子郵件中讀取數據並計算每個單詞的頻率。首先構造兩個計數器:由獲取defaultdict的值
for word in re.findall('[a-zA-Z]\w*', data):
counters.form[word][file_name] += 1
對於每個形式
counters.form = collections.defaultdict(dict)
獲取的頻率,存在存儲所有此單詞出現在電子郵件的計數器,和形式的在此頻率電子郵件。例如
form = {'a': {'email1':4, 'email2':3},
'the': {'email1':2, 'email3':4},
'or': {'email1':2, 'email3':1}}
如何獲取特定電子郵件中某種形式的頻率?的a
在email2
頻率爲3
你的問題是有點混亂。也許你可以舉一個小例子? – happydave
你是否必須使用'defaultdict',因爲它是作業? 'collections.Counter'會更合適 –
@gnibbler當我使用collections.Counter時,它告訴我該對象不可迭代。 – juju