我坚持这个问题的一部分。我需要阅读大约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)
我只是坚持如何在一个句子中为每个单词指定句子长度不同的值。
答案 0 :(得分:1)
我将它分成两个词典,一个用于分数,一个用于保持计数
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
模块中counts
和defaultdict
成为collections
,您可以使其更加紧凑。