图解散列函数

简介:

散列函数将输入映射到数字。

1.必须是一致的,apple每次都返回4。

2.不同的内容,映射不同的数字,输入什么都返回4就没有意义了。

散列,hash。

book = dict()

book['apple'] = 0.67
book['milk']  = 1.49
book['avocado'] = 1.49
print(book) #{'apple': 0.67, 'milk': 1.49, 'avocado': 1.49}

print(book['apple']) #0.67

检测是否已经投票

voted = {}
def check_voter(name):
    if voted.get(name):
        print ("kick them out!")
    else:
        voted[name] = True
        print ("let them vote!")

check_voter("tom")  # let them vote!
check_voter("mike") # let them vote!
check_voter("mike") # kick them out!

应用于缓存处理

cache = {}
def get_page(url):
    if cache.get(url):
        print("缓存获取");
        return cache[url]
    else:
        print("第一次获取");
        data = get_data_from_server(url)
        cache[url] = data
        return data


def get_data_from_server(url):
    return url+"数据";

print(get_page("cnblogs.com")); #第一次获取 cnblogs.com数据
print(get_page("cnblogs.com")); #缓存获取 cnblogs.com数据

本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/7656731.html,如需转载请自行联系原作者
相关文章
|
12月前
|
算法 搜索推荐
【算法与数据结构】归并排序的代码实现(详细图解)以及master公式的讲解
【算法与数据结构】归并排序的代码实现(详细图解)以及master公式的讲解
126 0
|
存储 算法 索引
蓝桥杯丨哈希算法
蓝桥杯丨哈希算法
57 0
|
1月前
|
算法
算法与数据结构之递推法
算法与数据结构之递推法
18 0
|
5月前
|
算法 数据可视化 数据挖掘
力扣136题全解析:寻找只出现一次的数字(哈希表与异或运算详解,附图解)
力扣136题全解析:寻找只出现一次的数字(哈希表与异或运算详解,附图解)
|
5月前
|
算法 安全 Java
Java数据结构与算法:哈希函数
Java数据结构与算法:哈希函数
|
5月前
|
存储 算法
数据结构和算法——了解哈希表(哈希查找、散列的基本思想)
数据结构和算法——了解哈希表(哈希查找、散列的基本思想)
37 0
|
6月前
|
存储 算法 安全
[数据结构与算法]哈希算法
[数据结构与算法]哈希算法
|
6月前
|
存储 缓存 Serverless
散列函数:设计思路与具体代码实现
散列函数:设计思路与具体代码实现
117 0
|
算法 前端开发 C++
拓扑排序详解(包含算法原理图解、算法实现过程详解、算法例题变式全面讲解等)
拓扑排序详解(包含算法原理图解、算法实现过程详解、算法例题变式全面讲解等)
861 0
|
存储 算法 数据处理
哈希(散列)查找算法
本文主要是散列表的认识与哈希查找!
234 1