我想在python中創建自己的Hash數據結構。在__init__
我初始化一個大小爲m
的列表(m_list
),並在另一個函數中從我的散列函數中爲它添加散列。列表索引超出範圍
我現在試圖通過列表進行搜索,尋找價值k
。我在if self.m_list[i] == k:
行上得到了一個超出範圍錯誤的列表索引。
class Hash:
def __init__ (self, n, m, m_list=None):
self.n = n
self.m = m
self.a = choice(range(1, n))
self.b = choice(range(n))
if m_list is None:
m_list = []
self.m_list = m_list * m
def search(self, k):
found = False
for i in self.m_list:
if i is not None and found is False:
if self.m_list[i] == k:
found = True
if found:
print True
else:
print False
我創建m_list
使用指南從Create an empty list in python with certain size
我會使用'enumerate'搜索方法的版本,你需要索引的東西 - '爲我,val在枚舉(self.m_list):' – 2015-02-09 22:13:31