我正在Hash Table观看视频,教授清楚地说:
现在假设我正在使用Python
向哈希表中添加数百万个值。
代码:
dictionary = {}
for i in xrange(1000000):
dictionary[i] = ''
dictionary = {}
for i in ['A', 'B', 1, 2, 3, 4, 1, 'Hi']:
dictionary[i] = ''
如何计算hash function
?由于您不断在字典中添加元素,hash function
是否会根据元素总数不断变化?或者在插入所有元素之前决定hash function
一次?
由于我的程序不知道字典中可能包含的所有值,我们如何在这里决定哈希函数?我的值列表可以是这里的任何内容,而不仅仅是数字。
答案 0 :(得分:2)
Python中的词典键可以是不可变的数据类型,只要它支持散列即可。例如,
X = 1
print(X.__hash__())
这显示了此对象的值的唯一哈希值。字典中的每个键必须是唯一的,这就是你不能拥有重复键的原因。
Y = "1"
print(Y.__hash__())
Python中的所有哈希值都是不可或缺的,无论您正在散列的数据类型如何。