博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
图解散列函数
阅读量:5303 次
发布时间:2019-06-14

本文共 938 字,大约阅读时间需要 3 分钟。

422101-20171012161155855-873109874.png

422101-20171012161159605-2103155489.png

422101-20171012161203934-105975246.png

422101-20171012161208715-724795661.png

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

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

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

散列,hash。

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

检测是否已经投票

422101-20171012161213574-814973152.png

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!

应用于缓存处理

422101-20171012161700637-1365601158.png

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 datadef get_data_from_server(url):    return url+"数据";print(get_page("cnblogs.com")); #第一次获取 cnblogs.com数据print(get_page("cnblogs.com")); #缓存获取 cnblogs.com数据

转载于:https://www.cnblogs.com/jiqing9006/p/7656731.html

你可能感兴趣的文章
mysql数据库中实现内连接、左连接、右连接
查看>>
《BI那点儿事》数据流转换——聚合
查看>>
书评: LINQ高级编程
查看>>
MssqlOnLinux 并发处理【8】
查看>>
[.NET MVC4 入门系列06] 在Movie Model和表中添加新字段(Code First Migrations)
查看>>
css图片上加文字
查看>>
Jquery 各种特效
查看>>
Spring Boot学习笔记(七)多数据源下的事务管理
查看>>
python3 ImportError: No module named 'ConfigParser'
查看>>
jQuery获取文本节点之 text()/val()/html() 方法区别
查看>>
mvc下是如何传值的
查看>>
kubespray 容器存储设备 -- rook ceph
查看>>
C# winform treeview checkbox 选中 循环 遍历
查看>>
优秀的PHP开发者是怎样炼成的?
查看>>
Spring + Mybatis 企业应用实战 第3章 Sping MVC的常用注解
查看>>
第八篇 构造器和方法重载
查看>>
各大计算机公司 笔试及面试 题目 - 专题(海量数据处理 一)
查看>>
Selenium学习之==>WebDriver驱动对照表
查看>>
数据库无法连接JDBC
查看>>
php中static静态变量的使用方法详解
查看>>