【python】hash函数问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【python】hash函数问题相关的知识,希望对你有一定的参考价值。

定义如下:
def hash(s): return len(s)
然后有:
A.len(s)=1
B.len(s)=2
C.len(s)=3
D.len(s)=4
E.len(s)=5
然后又有 a, in,i,pi,za,cat,dog,puppy,them,there,spork,slate,kiwi
要求匹配。。。
我不明白题的意思,求解T^T

参考技术A 我是这样想的,这提示让你用函数hash(s)将a, in,i,pi,za,cat,dog,puppy,them,there,spork,slate,kiwi
等字符串分类,其中长度为1的是A类,长度2的为B类,以此类推,长度为5的是E类。加点代码,应该可以实现分类。
参考技术B a, in,i,pi,za,cat,dog,puppy,them,there,spork,slate,kiwi这些就是你要传递的参数s
你的这个hash函数就是返回字符串长度追问

我一开始也是这么想的,但是结果不对

本回答被提问者采纳

为什麼取余hash函数中的除数要是质数?

如题

参考技术A 冲突的概率小 参考技术B 如果数组容量不是质数,步长序列就会变得无限长(比如在二次探测中),而且可能永远也访问不到要访问的数据。如果在填表过程中发生这种情况,整个applet将会崩溃。本回答被提问者采纳

以上是关于【python】hash函数问题的主要内容,如果未能解决你的问题,请参考以下文章

Python内置函数(28)——hash

Python 的 hash() 函数返回的最大值/最小值

如何在python中实现一个好的__hash__函数[重复]

Python数据结构-哈希表(Hash Table)

为什麼取余hash函数中的除数要是质数?

hashmap 中 hash 函数怎么是是实现的?还都有哪些 hash 的实现方式