为什么我在此示例中为每行累积了结果:
我的文本示例包含两行:
他
的
我需要将文本中每行的结果作为单独的结果
for row in sample_file:
for word in row.split():
for c in word:
product = product*(float(char_value_en.get(c, 0)))
final_prob_es = prob_es*tweet_prob_es
print 'Spanish Prob'+' '+'='+' '+str(final_prob_es)
print row
我的输出是:
西班牙语Prob = 0.698565816073
他
西班牙语Prob = 0.836227448039
的
西班牙语Prob = 0.957639196166
他
西班牙语Prob = 1.14635466369
的
答案 0 :(得分:0)
根据你的意见
<强> rows.txt的强>
aab
abc
acc
<强> script.py 强>
char_value_en = {
'a': 0.1,
'b': 0.2,
'c': 0.3
}
res = {}
with open('rows.txt') as f:
for row in f:
for word in row.split():
for c in word:
if c not in res:
res[c] = 1
res[c] *= char_value_en.get(c, 1)
print(res)
# >> {'a': 0.00010000000000000003, 'b': 0.04000000000000001, 'c': 0.027}