This commit is contained in:
Marege 2026-10-29 22:11:03 +01:00
parent 442def2cad
commit d5fa465a37

View File

@ -72,9 +72,10 @@ class HashTable:
def __delitem__(self, key): def __delitem__(self, key):
index = self.probe(key) index = self.probe(key)
if self.table[index] is not self.empty: if self.table[index] is self.empty or self.table[index] is self.deleted:
self.table[index] = self.deleted raise KeyError(key)
self.size -= 1 self.table[index] = self.deleted
self.size -= 1
def __contains__(self, key): def __contains__(self, key):
if self.table[self.probe(key)] is self.empty or self.table[self.probe(key)] is self.deleted: if self.table[self.probe(key)] is self.empty or self.table[self.probe(key)] is self.deleted:
@ -87,5 +88,5 @@ class HashTable:
def __iter__(self): def __iter__(self):
for bucket in self.table: for bucket in self.table:
if bucket is not self.empty: if bucket is not self.empty and bucket is not self.deleted:
yield bucket[0] yield bucket[0]