Files
CommonCode/data_structures.py
2025-09-04 22:48:15 -04:00

14 lines
471 B
Python

from collections import UserDict, deque
class CircularDict(UserDict):
def __init__(self,init_data = None, max_len = 50):
self.data = init_data if init_data is not None else dict()
self.fkkeys = deque(self.data.keys(), max_len)
self.max_len = max_len
def __setitem__(self, k,v):
self.fkkeys.append(k)
self.data[k] = v
to_rem = self.data.keys() - set(self.fkkeys)
[self.data.pop(k) for k in to_rem]