【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]
posted @ 2021-12-26 21:46  Hubery_Jun  阅读(129)  评论(0编辑  收藏  举报