问题标题:
如何用Python建立索引建立索引:首先输入100行字符串,用于构建倒排索引,每行字符串由若干不含标点符号的、全部小写字母组成的单词构成,每个单词之间以空格分隔.依次读入每个单词,并组
问题描述:
如何用Python建立索引
建立索引:首先输入100行字符串,用于构建倒排索引,每行字符串由若干不含标点符号的、全部小写字母组成的单词构成,每个单词之间以空格分隔.依次读入每个单词,并组成一个由构成的字典,其中行号从1开始计数.
(2).打印索引:按照字母表顺序依次输出每个单词及其出现的位置,每个单词出现的位置则按行号升序输出.例如,如果“created”出现在第3,20行,“dead”分别出现在14,20,22行.则输出结果如下(逗号后面有空格):
…
created:3,20
dead:14,20,22
…
(3).检索:接下来输入查询(Query)字符串,每行包含一个查询,每个查询由若干关键字(Keywords)组成,每个关键字用空格分隔且全部为小写字母单词.要求输出包含全部单词行的行号(升序排列),每个查询输出一行.若某一关键字在全部行中从没出现过或没有一行字符串包含全部关键字,则输出“None”.遇到空行表示查询输入结束.如对于上面创建的索引,当查询为“created”时,输出为3,20;当查询为“createddead”时,输出为20;当查询为“abcdedead”时,输出为None;
请发feicuimingfeng艾特163.com
陈菊红回答:
filenamebaiduqa.py
卜匀回答:
makeIndex函数接收一个文件名作为参数,读取文件中的字符串;在上面的例子里,将“baiduqa.py"作为要解读的文本文件。你可以将之换成你的数据文件
陈菊红回答:
这个能输入一个单词然后再进行查询吗
卜匀回答:
def makeIndex(filename):
index, lineno = {}, 0
while True:
line = raw_input()
if line:
for word in patt.findall(ln):
index.setdefault(word, []).append(i+1)
else:
break
return index
陈菊红回答:
能和上面并一起吗,我比较菜
查看更多