Python 进阶——标准散列机制

来源:互联网 发布:数据库课程 编辑:程序博客网 时间:2024/06/10 22:03

散列(hashing)技术不仅在绝大多数算法类书籍中都有详细介绍,而且在 Python 程序当中也非常普及。该技术往往会涉及一些经由某既定对象计算而来的整数值(乍看之下似乎是随机的)。例如,我们可以用这些值来索引数组元素(当然,需要进行某些调整,以确保其在合法的索引范围内)。

在 Python 语言中,标准散列机制是由 hash 函数提供的,调用一个对象的__hash__ 方法:

>>> hash(42)42>>> hash("Hello, world!")-1180830286

42 的类型为 int,”Hello, world!” 的类型为 str:

>>> type(42)int>>> type("Hello, world!")str

使用 dir() 查看 int、str 等基本数据类型的属性和方法列表:

>>> dir(int)


这里写图片描述

该机制常用于字典类型(dict)的实现,而 dict 就是我们常数的散列表。同样,集合类型(set)也是通过这种机制实现的。

这就意味着我们在对 dict 和 set 中的元素进行访问时所耗费的(预期)时间都是常数级的。

0 0
原创粉丝点击