zai*_*zil 3 python dictionary boolean
谁能解释一下 python 字典的这种行为?
d = {}
d[True] = 'Magic'
d[1] = 'Cool'
d[1.0] = 'Hello'
print(d)
# {True: 'Hello'}
Run Code Online (Sandbox Code Playgroud)
为什么它不打印所有其他(键,值)对?
为什么 True、1 和 1.0 被评估为相同?
hash3 项中的是1, 1.0, True相同的(等于1)。如果没有冲突,Python 就会使用它作为字典的键。而且1 == 1.0 == True也True没有发生碰撞。
这里有关于 python 字典旧实现的更多细节。新的实现按照这些思路进行操作(但保留了顺序)。
| 归档时间: |
|
| 查看次数: |
1909 次 |
| 最近记录: |