Spaces:
Sleeping
Sleeping
| from collections import OrderedDict | |
| class LRUCache: | |
| def __init__(self, max_size=128): | |
| self.cache = OrderedDict() | |
| self.max_size = max_size | |
| def get(self, key): | |
| if key not in self.cache: | |
| return None | |
| self.cache.move_to_end(key) | |
| return self.cache[key] | |
| def set(self, key, value): | |
| self.cache[key] = value | |
| self.cache.move_to_end(key) | |
| if len(self.cache) > self.max_size: | |
| self.cache.popitem(last=False) | |
| def __setitem__(self, key, value): | |
| self.set(key, value) | |
| def __getitem__(self, key): | |
| return self.get(key) | |