summaryrefslogtreecommitdiff
path: root/bidict.py
diff options
context:
space:
mode:
Diffstat (limited to 'bidict.py')
-rw-r--r--bidict.py20
1 files changed, 0 insertions, 20 deletions
diff --git a/bidict.py b/bidict.py
deleted file mode 100644
index 5ba3fc3..0000000
--- a/bidict.py
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/env python3
-
-class bidict(dict):
- def __init__(self, *args, **kwargs):
- super(bidict, self).__init__(*args, **kwargs)
- self.inverse = {}
- for key, value in self.items():
- self.inverse.setdefault(value, []).append(key)
-
- def __setitem__(self, key, value):
- if key in self:
- self.inverse[self[key]].remove(key)
- super(bidict, self).__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]]
- super(bidict, self).__delitem__(key)