由于课程需要最近接触了Python,请问下面这个速度正常吗?
建了一个2^20大小的dict,需要从另外2^20个键值中找出一个属于这个dict的键值,也就是说最坏的情况下要查找2^20次,可是程序跑起来后很慢,平均查找一次需要0.5秒钟,感觉太慢了,请问各位问题可能出在哪里呢?
部分代码如下,其中self.__table的大小是2^20,self.__midval也是2^20,其中pass的部分由于没有执行就用pass代替了
def search_match(self):
value = 1
for i in range(self.__midval):
if self.__table.get(value) != None:
pass
return result
value = gmpy2.c_mod( value*self.__bot_val, self.__p )
return False
已解决,是我弄错了。
python的dict速度只有这么快,你这么多数据,很可能冲突比较大,导致查找比较慢