Как добавить ключ / значение в HashMap? - PullRequest
0 голосов
/ 07 августа 2020
class HashMap:
    def __init__(self):
        self.max_length = 8
        self.max_load_factor = 0.8
        self.length = 0
        self.map = [None] * self.max_length

    def get(self, key, default):
        value = dict.get(key, default)
        return value  # returns the value for key if key is in the dictionary, else
                      # default. If default is not given, it defaults to none.

    def set(self, key, value):
        #need to add the key value pair into the hashmap
        #if self.max_load_factor >= .8:
            #refresh the map into a map double the capacity

Итак, я смог добавить метод get() для моей хэш-карты, который был относительно простым (который возвращает значение ключа, если ключ находится в словаре, et c,…) Но как добавить пару ключ-значение в хэш-карту?

Может ли кто-нибудь указать мне правильное направление? Нужно ли мне добавлять его в экземпляр self.map?

1 Ответ

0 голосов
/ 07 августа 2020

Вы не показываете нам, как вы пытаетесь это использовать, и я не вижу, чтобы вы определяли dict где-нибудь. Но я думаю, что вижу то, что вы хотели, и что-то вроде

class HashMap:
    def __init__(self):
        self.dict = {}

    def get(self, key, default=None):
        return self.dict.get(key, default)

    def set(self, key, value):
        self.dict[key] = value

if __name__ == '__main__':
    hm = HashMap()
    hm.set('test', 'hello, world')
    print(hm.get('test'))

должно сделать это (и вывести)

hello, world
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...