首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python 哈希(hash) 散

标准库里的所有映射类型都是利用 dict 来实现的,因此它们有个共同的限制,即只有可散的数据类型才能用作这些映射里的键,本文记录Python 中 hash 相关内容。...Python 中可散的数据类型 官方定义 翻译过来就是: 如果一个对象的哈希值在其生命周期中从不变化(它需要一个 __hash__()方法) ,并且可以与其他对象进行比较(它需要一个 _ eq _ (...如果要把一个对象放入散列表,那么首先要计算这个元素键的散值。 Python 中可以用 hash() 方法来做这件事情: 内置的 hash() 方法可以用于所有的内置类型对象。...为了获取 my_dict[search_key] 背后的值,Python 首先会调用 hash(search_key) 来计算 search_key 的散值,把这个值最低 的几位数字当作偏移量,在散列表里查找表元...参考资料 流畅的Python(2017年人民邮电出版社出版) https://docs.python.org/3/glossary.html#term-hashable https://baike.baidu.com

2.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

Python的可散对象

这里先介绍Python语言中的可散对象。 散函数 在介绍散列表以及它在Python中的实现之前,先简要说明散函数及其工作原理。...不可逆性:散函数是一个“单向函数”,将字符串输入到散函数,得到了散值,但是不能反过来,不能从散值得到原来的字符串。由于这个特性,它可以用于加密。...Python的内置散函数 Python的内置函数hash()是一个散函数,它能够返回输入对象的十进制整数形式的散值。...显然,10和10.0是两个不同的对象(一个是整数,另外一个是浮点数),而它们的散值相同。反过来,根据相同的散值,无法唯一判定输入对象是哪一个。这就是可以用散加密的原因。...可散类型 在Python内置的对象类型中,并非都是可散的,只有那些不可变对象,比如整数、浮点数、字符串、元组等,才是可散的。

5K20
领券