码迷,mamicode.com
首页 > 编程语言 > 详细

python数据类型之可hash,不可hash

时间:2018-03-16 00:17:23      阅读:5689      评论:0      收藏:0      [点我收藏+]

标签:领域   直接   www   压缩   ace   数据类型   font   衡量   散列   

可变类型的数据不可哈希,如list,字典:同值不同址,不同值同址
 
列表,字典可变,
技术分享图片

 

数值、字母、字符串、数字、元组不可变:同值同址,不同值不同址
技术分享图片

技术分享图片

 

怎么判断可变不可变 ?
 
总结:改个值 看id是不是一样,id一样的为可变,则不可哈希,
改了值,id变化,则为不可变,则可哈希
哈希概念:
Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
哈希算法:
哈希算法是用来解决数据和数据之间对应关系的一种算法。它的初衷是用来加速数据存取。
计算机领域内的大多数查找算法都与存储数据的规模呈正相关,用于衡量查找算法效率的量我们称为平均查找长度,一般情况下,比较优秀的查找算法的平均查找长度也不会短于数据规模以2为底的对数(技术分享图片)。
链接:https://www.zhihu.com/question/20820286/answer/16288950
来源:知乎

 

python数据类型之可hash,不可hash

标签:领域   直接   www   压缩   ace   数据类型   font   衡量   散列   

原文地址:https://www.cnblogs.com/zyy98877/p/8576966.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!