summaryrefslogtreecommitdiff
path: root/collect/bidict.py
diff options
context:
space:
mode:
authorScott Gasch <[email protected]>2021-10-02 09:03:31 -0700
committerScott Gasch <[email protected]>2021-10-02 09:03:31 -0700
commitfa4298fa508e00759565c246aef423ba28fedf31 (patch)
tree7afd570b762035564a6d45c1fcf03697e6ee9f79 /collect/bidict.py
parentb0bde5bef4a19382136112196b238088641738d5 (diff)
changes
Diffstat (limited to 'collect/bidict.py')
-rw-r--r--collect/bidict.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/collect/bidict.py b/collect/bidict.py
index e162179..1fa66dc 100644
--- a/collect/bidict.py
+++ b/collect/bidict.py
@@ -35,14 +35,16 @@ class bidict(dict):
def __setitem__(self, key, value):
if key in self:
- self.inverse[self[key]].remove(key)
+ old_value = self[key]
+ self.inverse[old_value].remove(key)
super().__setitem__(key, value)
self.inverse.setdefault(value, []).append(key)
def __delitem__(self, key):
- self.inverse.setdefault(self[key], []).remove(key)
- if self[key] in self.inverse and not self.inverse[self[key]]:
- del self.inverse[self[key]]
+ value = self[key]
+ self.inverse.setdefault(value, []).remove(key)
+ if value in self.inverse and not self.inverse[value]:
+ del self.inverse[value]
super().__delitem__(key)