V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  XiiLii  ›  全部回复第 2 页 / 共 3 页
回复总数  54
1  2  3  
2018-09-18 21:09:46 +08:00
回复了 XiiLii 创建的主题 Python 纠正《存储 dict 的元素前是计算 key 的 hash 值?》
@thechosenone

字典本身是属于“无序序列”,这里的无序不是说每次的排列顺序都是随机排列,不是说这次输出 c, a, b,下次可能输出 b, c, a,不是这个意思

首先需要知道 dict 是基于哈希表的数据结构,哈希表是一块连续的内存空间(数组),这个数组里的元素叫做表元,表无存储的是 key-value 对,而 key-value 对具体是在这个数组里的那个位置(索引),需要使用散列函数对 key 进行 hash 值等一系列的计算才知道(这些是 Python 解释器自动完成,不需要我们主动去做)。

打个比方:key 就像一个班级里的学生,他们排在一起看起来有高有矮看起来很乱,普通人眼中的有序就是他们应该按照从高到矮或从矮到高这样的顺序排列,但是他们实质上是按照身份证号码的大小来排的,相对身份证号来说它是有序的,只是相对身高来说他们是无序的。

字典的无序也是类似的道理(不考虑散列冲突等情况),
2018-09-18 15:27:45 +08:00
回复了 XiiLii 创建的主题 Python 纠正《存储 dict 的元素前是计算 key 的 hash 值?》
@ChristopherWu 是的,我也觉得直接看源码会好很多,这样理解会更深
2018-09-18 15:25:39 +08:00
回复了 XiiLii 创建的主题 Python 纠正《存储 dict 的元素前是计算 key 的 hash 值?》
@zhengxiaowai 是的,你说的第 2 点我有了解过,这里没讲这么详细是因为我这篇文章主要是纠正我之前的错误认识,hash 是对 key,不是对 key 内存地址,关于你说的第 1 点我没了解过,感谢分享哈
2018-09-18 14:56:14 +08:00
回复了 XiiLii 创建的主题 Python 纠正《存储 dict 的元素前是计算 key 的 hash 值?》
@bwangel 谢谢哈
2018-09-18 14:55:48 +08:00
回复了 XiiLii 创建的主题 Python 纠正《存储 dict 的元素前是计算 key 的 hash 值?》
@oott123 我是拿其中的一个可哈希对象来作例子,纠正我之前说的错误推论
2018-09-18 14:39:30 +08:00
回复了 XiiLii 创建的主题 Python 纠正《存储 dict 的元素前是计算 key 的 hash 值?》
@vipppppp 因为那篇文章底部有帮指出错误了,这里再总结下

不好意思,是我眼花了,应该是 `hash(id('a')) - hash(id('b')) == id('a') - id('b')`
2018-09-18 14:32:25 +08:00
回复了 XiiLii 创建的主题 Python 纠正《存储 dict 的元素前是计算 key 的 hash 值?》
@simonliu2018 我之前就是被这个误导了,这是缓存被复用了
2018-09-14 23:30:36 +08:00
回复了 XiiLii 创建的主题 Python 存储 dict 的元素前是计算 key 的 hash 值?
@frostming 发了好几个地方,就你有能力指出的我的错误,非常感谢
2018-09-05 19:56:52 +08:00
回复了 XiiLii 创建的主题 Python 手动汉化 PyCharm 的过程
2018-09-05 09:17:48 +08:00
回复了 XiiLii 创建的主题 Python 手动汉化 PyCharm 的过程
@MNJKOLnm 在 MacOS 上没试过
2018-08-31 09:49:07 +08:00
回复了 Andor_Chen 创建的主题 Flask 送几本《Flask Web 开发(第 2 版)》
运气不太好,买第 1 版还不到 1 年,希望运气在此中和下
2018-07-09 22:18:59 +08:00
回复了 XiiLii 创建的主题 GitHub Github 为什么老是提示我验证邮箱?
@strugglexiang 我也换成了微软邮箱
2018-07-09 22:17:42 +08:00
回复了 XiiLii 创建的主题 Python Python | 爬取猫眼实时票房数据
@AlisaDestiny 代码确实还可再优化
2018-07-09 22:16:53 +08:00
回复了 XiiLii 创建的主题 Python Python | 爬取猫眼实时票房数据
@AlisaDestiny 平均来看应该是
2018-07-08 22:01:15 +08:00
回复了 XiiLii 创建的主题 Python Python | 爬取猫眼实时票房数据
@cz5424 不是爬具体某间电影院的票数
2018-07-08 19:29:31 +08:00
回复了 XiiLii 创建的主题 Python Python | selenium 如何配置 Firefox 的 IP 代理?
Python | Firefox IP 代理 - 灵魂的文章 - 知乎
https://zhuanlan.zhihu.com/p/39281522
2018-07-08 18:40:29 +08:00
回复了 XiiLii 创建的主题 Python Python | 爬取猫眼实时票房数据
爬取猫眼实时票房数据 - 灵魂的文章 - 知乎
https://zhuanlan.zhihu.com/p/36748808
1  2  3  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1227 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 21ms · UTC 18:19 · PVG 02:19 · LAX 11:19 · JFK 14:19
Developed with CodeLauncher
♥ Do have faith in what you're doing.