YACWC
This commit is contained in:
13
data_structures.py
Normal file
13
data_structures.py
Normal file
@@ -0,0 +1,13 @@
|
||||
|
||||
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]
|
||||
|
||||
Reference in New Issue
Block a user