相关疑难解决方法(0)

如何实现Python的内置词典

有谁知道如何实现python的内置字典类型?我的理解是它是某种哈希表,但我无法找到任何确定的答案.

python dictionary data-structures

263
推荐指数
3
解决办法
7万
查看次数

Python词典中的键顺序

码:

d = {'a': 0, 'b': 1, 'c': 2}
l = d.keys()

print l
Run Code Online (Sandbox Code Playgroud)

这打印['a','c','b'].我不确定方法如何确定l中关键字的顺序.但是,我希望能够以"正确"的顺序检索关键字.正确的顺序当然会创建列表['a','b','c'].

python dictionary

81
推荐指数
5
解决办法
11万
查看次数

Python的哈希函数顺序背后的逻辑是什么?

我们知道,Python的一些数据结构使用哈希表来存储像set或的项目dictionary.所以这些对象没有顺序.但似乎对某些数字序列而言并非如此.

例如,请考虑以下示例:

>>> set([7,2,5,3,6])
set([2, 3, 5, 6, 7])

>>> set([4,5,3,0,1,2])
set([0, 1, 2, 3, 4, 5])
Run Code Online (Sandbox Code Playgroud)

但是,如果我们进行一些小改动,它就没有排序:

>>> set([8,2,5,3,6])
set([8, 2, 3, 5, 6])
Run Code Online (Sandbox Code Playgroud)

所以问题是:Python的哈希函数如何对整数序列起作用?

python hashtable python-2.7 python-3.x python-internals

4
推荐指数
1
解决办法
291
查看次数