无法理解有关Python字典/hash的一段代码
我正在用Learn Python The Hard Way(笨方法学Python)入门Python,这也是我学习编程的第一个语言。今天遇到一个问题,查了很久的谷歌还是无法解决。
链接在这里: http://learnpythonthehardway.org/book/ex39.html
在这个练习里,"Making Your Own Dictionary Module"部分,我无法理解这句是如何工作的:
return hash(key) % len(aMap)
我google了很久,没有找到Python有内置函数 hash();代码的其他地方也没有定义这样一个函数,所以这句话到底是如何工作的呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
hash 应该是一个内置函数吧,我的python 版本是 2.7.6
hash 的作用是返回一个整数。一个整数除以数字的长度取余数,这个结果肯定是介于 0 至 数组的长度之间,也就说确定key对应的值存放在数组的那个index下。
hash方法是Python的内置方法,在Python里面有个模块在Python命令行启动的时候会自动加载起来,叫做
__builtins__
,使用命令dir(__builtins__
),就可以看到hash方法已经被加载了。关于python字典这块,楼主可以看看代码之美,第十八章的内容:第18章 Python的字典类:如何打造全能战士