给字符串中的每个单词分配该字符串的分数

2024-04-16 08:12:56 发布

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

我被困在问题的这一部分。我需要在一个文本文件中阅读大约8k评论,但他们的格式易于处理。例如句子前面的数字

这部电影很有趣,而且写得很好。在

这个句子中的每个单词的分数应该是3,并放入一个哈希表中,其中包含单词、分数和出现次数。在

def main():
    fin = open("movieReviews.txt")
    # read lines from file one at a time
    count = 0
    for line in fin:
       # tokenize each review
        reviewToken = line.split()

        if reviewToken[0].isdigit():
            count = count + 1    

    print(count)

我只是停留在如何给一个句子中的每个词赋予开头的值,句子的长度是不同的。在


Tags: 电影maindef格式countline评论数字
1条回答
网友
1楼 · 发布于 2024-04-16 08:12:56

我把它分成两本词典,一本是分数,一本是记数

with open(filename) as f:
    counts = {}
    scores = {}
    for line in f:
        i, *line = line.split()
        for word in line:
            if word not in counts:
                counts[word] = 0
            if word not in scores:
                scores[word] = 0
            count[word] += 1
            scores[word] += int(i)

您可以通过将scores和{}从collections模块变成defaultdicts,使其更加紧凑。在

相关问题 更多 >