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]    ///这里一定要在left两边加上【】,否则是会出现无法append的错误的,见下图

    
   

 

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)

 

结果:

 

 

 

posted on 2010-02-03 15:24  猪总的小短裤  阅读(5176)  评论(0编辑  收藏  举报