老實說你提供的東西不是很完整
我想,tf 跟 idf 都是 Dictionary
而sorted_word存了tf的所有key值
但是在第五行的時候,由於idf並不存在'.'這個key,所以跳出error。
有點像以下這樣吧
tf = {'A':[1,2,3],'B':[1,2,3],'C':[1,2,3],'.':[1,2,3]}
idf = {'A':[1,2,3],'B':[1,2,3],'C':[1,2,3]}
sorted_word = sorted(set([word for word in tf]))
tfidf = list()
for word in sorted_word:
value = tf[word]
value = [v*idf[word] for v in value]
tfidf.append(value)
要嘛,你程式碼稍微改一下改成這樣,加個if檢驗。
tf = {'A':[1,2,3],'B':[1,2,3],'C':[1,2,3],'.':[1,2,3]}
idf = {'A':[1,2,3],'B':[1,2,3],'C':[1,2,3]}
sorted_word = sorted(set([word for word in tf]))
tfidf = list()
for word in sorted_word:
value = tf[word]
if word in idf:
value = [v*idf[word] for v in value]
tfidf.append(value)
要嘛,改一下你儲存的內容吧