cdays-3-test.txt 内容:
1 key1
2 key2
3 key1
7 key3
8 key2
10 key1
14 key2
19 key4
20 key1
30 key3
读取某一简单索引文件cdays-3-test.txt,其每行格式为文档序号 关键词,现需根据这些信息转化为倒排索引,即统计关键词在哪些文档中,格式如下:包含该关键词的文档数 关键词 => 文档序号。其中,原索引文件作为命令行参数传入主程序,并设计一个collect函式统计 "关键字<->序号" 结果对,最后在主程序中输出结果至屏幕。
源代码:
import sys
def col(file):
result={}
for line in file.readlines():
left,right=line.split()
if result.has_key(right):
result[right].append(left)
else:
result[right]=[left]
return result
if __name__=="__main__":
if len(sys.argv)==1:
print 'usage:\n\tpython cdays-3-exercise-2.py cdays-3-test.txt'
sys.exit();
else:
result=col(open(sys.argv[1],'r'))
for (right,lefts) in result.items():
print "%d '%s'\t=>\t%s" % (len(lefts),right,lefts)
结果: