我有点时间紧迫,但这是我作业中的问题之一。我被困住了,我不知道该怎么办或如何进行。
我们的任务是打开各种文本文件,并且在每个文本文件中,我们都将每个单词添加到词典中,其中的键是其来源的文档编号,而值是单词。
例如,一个文本文件将是:
1
Hello, how are you?
I am fine and you?
每个文本文件都以与其标题对应的数字开头(例如,“ document1.txt”以“ 1”开头,“ document2.txt”以“ 2”开头,依此类推)
我的老师为我们提供了此编码,以帮助去除标点符号和线条,但我很难确定在哪里实现。
data = re.split("[ .,:;!?\s\b]+|[\r\n]+", line)
data = filter(None, data)
我真的不知道过滤器(无数据)在哪里起作用,因为它所做的只是返回它在内存中表示的代码行。
到目前为止,这是我的代码:
def invertFile(list_of_file_names):
import re
diction = {}
emplist = []
fordiction = []
for x in list_of_file_names:
afile = open(x, 'r')
with afile as f:
for line in f:
savedSort = filterText(f)
def filterText(line):
import re
word_delimiters = [' ', ',', ';', ':', '.','?','!']
data = re.split("[ .,:;!?\s\b]+|[\r\n]+", f)
key, value = data[0], data[1:]
diction[key] = value
如何做到这一点,以便将每个单词附加到字典中,其中的关键是它来自的文档,而值是文档中的单词?谢谢。