使用Python制作一致性表
你的目标是让用户选择一个文本文件进行分析。同时,你还会得到一个包含“停用词”的文件——这些词在分析时会被忽略。创建完词汇表后,按照下面的示例输出格式打印结果。对于词汇表中的每个词,你需要打印:
- 这个词本身
- 这个词出现的总次数
- 对于每一次出现:
- 在文件中的行号(第一行是第1行)
- 局部上下文。局部上下文就是原始行,其中指定的词会全部用大写字母显示。
这是我目前的进展:
import string
file_str = raw_input("What file to analyze:")
file_obj = open(file_str)
for line in file_obj.readlines():
line = line.strip()
split_line = line.split()
for word in split_line:
word = word.lower()
word = word.strip(string.punctuation)
我不知道接下来该怎么做!
1 个回答
0
首先,你需要一个计数器,每次外层循环运行时就加一,因为你需要提供一些关于行号的信息。
接下来,你需要一个字典。在循环外面创建这个字典。
words = {}
每次遇到一个单词时,检查它是否已经在字典里作为一个键存在。
if word in words:
如果存在,就更新这个条目。
word_info = words[word]
word_info = // something changed
// possibly you need this depending on the type of word_info
words[word] = word_info
如果不存在,就创建一个新的条目。
else:
word_info = // something
words[word] = word_info
关于word_info的值是什么样的,我就不多说了,留给你自己去想。