/
githubmirror
/
system-design-primer
Обзор
Документация
Войти
/
githubmirror
/
system-design-primer
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
solutions/object_oriented_design/hash_table/hash_map.py
38 строк
1 KB
cclauss
Add newlines - PEP8 style (#173)
19 июл 2018, 09:09
19 июл 2018, 09:09
924570e
Код
Авторство
О чём код?
class Item(object): def __init__(self, key, value): self.key = key self.value = value class HashTable(object): def __init__(self, size): self.size = size self.table = [[] for _ in range(self.size)] def _hash_function(self, key): return key % self.size def set(self, key, value): hash_index = self._hash_function(key) for item in self.table[hash_index]: if item.key == key: item.value = value return self.table[hash_index].append(Item(key, value)) def get(self, key): hash_index = self._hash_function(key) for item in self.table[hash_index]: if item.key == key: return item.value raise KeyError('Key not found') def remove(self, key): hash_index = self._hash_function(key) for index, item in enumerate(self.table[hash_index]): if item.key == key: del self.table[hash_index][index] return raise KeyError('Key not found')