zoukankan      html  css  js  c++  java
  • 【Python】散列的一种实现

    散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表

    # coding=utf-8
    """
    需求:读取文件,每行为一段 json 字符串,总共100 行,有些字符串中包含 real 字段,有些未包含
        将包含、未包含的 real 字段均匀分为 5 份(容器)中
    """
    a1, a2, a3, a4, a5 = [], [], [], [], []
    
    
    def process(data_list):
        for index, i in enumerate(data_list):
            if index % 5 == 0:
                a1.append(i)
            elif index % 5 == 1:
                a2.append(i)
            elif index % 5 == 2:
                a3.append(i)
            elif index % 5 == 3:
                a4.append(i)
            else:
                a5.append(i)
    
    
    if __name__ == '__main__':
        # 读取文件,将包含 real、未包含 real 字段的数据分别添加到 m、n 中
        m = list(range(1, 31))  # 含 real 字段
        n = list(range(31, 101))  # 未含 real 字段
    
        process(m)
        process(n)
    
        print(a1)
        print(a2)
        print(a3)
        print(a4)
        print(a5)
    

    运行结果:

    [1, 6, 11, 16, 21, 26, 31, 36, 41, 46, 51, 56, 61, 66, 71, 76, 81, 86, 91, 96]
    [2, 7, 12, 17, 22, 27, 32, 37, 42, 47, 52, 57, 62, 67, 72, 77, 82, 87, 92, 97]
    [3, 8, 13, 18, 23, 28, 33, 38, 43, 48, 53, 58, 63, 68, 73, 78, 83, 88, 93, 98]
    [4, 9, 14, 19, 24, 29, 34, 39, 44, 49, 54, 59, 64, 69, 74, 79, 84, 89, 94, 99]
    [5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100]
    
  • 相关阅读:
    AVPlayer中的问题
    封装网络请求
    FMDB的使用方法
    设置UITextField占位符的颜色和字体
    SQL SERVER性能优化综述
    关于学习
    学习java中对《类与对象》的认知
    Felling1-java
    关于学习JAVA第二章的心得
    学习JAVA第一章的心得
  • 原文地址:https://www.cnblogs.com/midworld/p/15734254.html
Copyright © 2011-2022 走看看