zoukankan      html  css  js  c++  java
  • 可爱的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)
  • 相关阅读:
    EYES组——软件体系结构上机规划
    淘宝软件架构分析分工
    淘宝网系统架构分析以及数据库架构简介
    关于编译器与解释器的区别
    Web前端之高斯模糊图片记
    解决JS浮点数(小数)计算加减乘除的BUG
    JS滚轮事件(mousewheel/DOMMouseScroll)了解
    阻止事件冒泡
    记一次编码相关问题
    细说Form(表单)
  • 原文地址:https://www.cnblogs.com/zhuhaiying/p/6208000.html
Copyright © 2011-2022 走看看