使用Python制作一致性表

0 投票
1 回答
1024 浏览
提问于 2025-04-17 05:07

你的目标是让用户选择一个文本文件进行分析。同时,你还会得到一个包含“停用词”的文件——这些词在分析时会被忽略。创建完词汇表后,按照下面的示例输出格式打印结果。对于词汇表中的每个词,你需要打印:

  • 这个词本身
  • 这个词出现的总次数
  • 对于每一次出现:
    • 在文件中的行号(第一行是第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的值是什么样的,我就不多说了,留给你自己去想。

撰写回答