循环时为文本中的每一行累积结果

2024-04-19 00:22:56 发布

您现在位置:Python中文网/ 问答频道 /正文

在本例中,我为什么要为每一行累积结果:

我的文本示例包含两行:

那个

我需要我的文本中每一行的结果作为一个单独的结果

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

那个


Tags: samplein文本示例foresproductword
1条回答
网友
1楼 · 发布于 2024-04-19 00:22:56

根据你的意见

行.txt

aab
abc
acc

脚本.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}

相关问题 更多 >