当前位置: 首页 > news >正文

python _—— 使用hash函数实现一种类似字典的简易hash存储结构

python _—— 使用hash函数实现一种类似字典的简易hash存储结构

使用hash函数实现一种类似字典的简易hash存储结构:

import random
import times_list1 = list(range(100_0000))random.shuffle(s_list1)  #  随机打乱列表v_list = random.sample(range(100_0000), 100)  # 随机采样100个元素# hash 表
sub_list = [[] for _ in range(100)] # [[, ], [, ], ...]
for v in s_list1:sub_list[hash(v)%100].append(v)s_dict = dict()
for v in s_list1:s_dict[v] = va_time = time.time()
for v in v_list:s_list1.index(v)
b_time = time.time()
for v in v_list:for v2 in s_list1:if v2 == v:break
c_time = time.time()
for v in v_list:for v2 in sub_list[hash(v)%100]:if v2 == v:break
d_time = time.time()
for v in v_list:x = s_dict[v] + 0# s_dict[v]# pass
e_time = time.time()# print(b_time - a_time, c_time - b_time, d_time - c_time)
print("标准库实现的顺序查找index方法耗时:", b_time - a_time)
print("自定义实现的顺序查找index方法耗时:", c_time - b_time)
print("自定义hash方法实现的index方法耗时:", d_time - c_time)
print("标准库hash表实现的index方法耗时:", e_time - d_time)


image