class HashTable:
def __init__(self):
self.datamap = [None] * 5
def __hash(self, key):
myindex = 0
for letters in key:
myindex = (myindex + ord(letters) * 23) % len(self.datamap)
return myindex
def print_table(self):
for i, val in enumerate(self.datamap):
print(f"{i}: {val if val is not None else 'Empty'}")
if val is not None:
for subitem in val:
print(f" {subitem[0]}: {subitem[1]}")
def set_item(self, key, value):
index = self.__hash(key)
if self.datamap[index] is None:
self.datamap[index] = []
self.datamap[index].append([key, value])
def get_item(self, key):
if self.datamap is not None:
index = self.__hash(key)
for item in self.datamap[index]:
if item[0] == key:
return item[1]