• 可爱的Python_课后习题_CDay−3 通过函式进行功能化


    1. 读取某一简单索引文件cdays−3-test.txt,其每行格式为:文档序号关键词,现须根据这些信息将它转化为倒排索引,即统计关键词在哪些文档中,格式如下:包含该关键词的文档数关键词 => 文档序号。其中,原索引文件作为命令行参数传入主程序,并设计一个collect 函式统计“关键字↔序号”结果对,最后在主程序中输出结果至屏幕。

    cdays−3-test.txt内容:

    1 key1
    2 key2
    3 key1
    7 key3
    8 key2
    10 key1
    14 key2
    19 key4
    20 key1
    30 key3

    python代码:

    #-*- coding:utf-8 -*-
    import sys
    import os
    
    def collect(file_path):
        rfile = ""
    
        try :
            rfile = open(file_path)
        except:
            print u"文件路径不存在"
            sys.exit()
    
        #读取文件,并将文件内容用列表保存
        key_value_list = list()
        for line in rfile.readlines():
            key_value = line.split()
            key_value_list.append(key_value)
    
        length = len(key_value_list)
        #用来存储关键词
        value_list = list()
        #用来存储最终结果
        result_list = list()
    
        for i in range(0, length):
            #如果关键词已经比对过,则忽略,获取下一个关键词
            flag = False
            for temp_value in value_list:
                if temp_value == key_value_list[i][1]:
                    flag = True
                    break
            if flag:
                continue
    
            key = list()
            key.append(key_value_list[i][0])
            value = key_value_list[i][1]
            num = 1
    
            #将关键词和之后的关键词进行比对,相同则数量加1并记录文档序号
            for j in range(i + 1, length):
                if key_value_list[j][1] == value:
                    key.append(key_value_list[j][0])
                    num += 1
    
            value_list.append(value)
            result_list.append((num, value, key))
    
        print result_list
    
    if __name__ == "__main__":
        file_path = u"e:/cdays−3-test.txt"
    
        collect(file_path)
  • 相关阅读:
    Linux文件系统结构
    JAVA实现上传下载共享文件
    JAVA 实现通过URL下载文件到本地库
    使用SoapUI 测试 Web Service
    DB2存储过程实现查询表数据,生成动态SQL,并执行
    DB2查看表空间大小及使用情况
    Spring使用总结
    Commons-logging + Log4j
    JAVA生成EXCEL图表
    html5离线缓存原理
  • 原文地址:https://www.cnblogs.com/zhuhaiying/p/6208000.html
Copyright © 2020-2023  润新知