我正在观看 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] = ''
这里如何计算哈希函数
?由于您不断向字典中添加元素,因此哈希函数
是否会根据元素总数不断变化?或者哈希函数
在插入所有元素之前确定一次?
由于我的程序不知道字典中可能出现的所有值,我们如何决定这里的哈希函数?我的值列表可以是任何东西,而不仅仅是数字。
最佳答案
Python 中字典的键可以是不可变的数据类型,只要它支持哈希。举个例子,
X = 1
print(X.__hash__())
这显示了该对象值的唯一哈希值。字典中的每个键必须是唯一的,这就是为什么不能有重复的键。
Y = "1"
print(Y.__hash__())
无论您要散列的数据类型如何,Python 中的所有散列值都是完整的。
关于python - 如何在Python中定义哈希函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34113587/