26 lines
706 B
Python
26 lines
706 B
Python
class SetsDict:
|
|
def __init__(self):
|
|
self._data: dict[str, set] = dict()
|
|
|
|
def add(self, key, value):
|
|
if key not in self._data: self._data[key] = set()
|
|
if value not in self._data[key]: self._data[key].add(value)
|
|
|
|
def delete(self, key, value):
|
|
if self._data.get(key, None): self._data[key].remove(value)
|
|
|
|
@property
|
|
def index(self):
|
|
res = set()
|
|
for key, collection in self._data.items():
|
|
for elem in collection:
|
|
if elem not in res:
|
|
res.add(elem)
|
|
return res
|
|
|
|
def by_key(self, key):
|
|
return self._data.get(key, None)
|
|
|
|
@property
|
|
def keys(self): return self._data.keys()
|