liumaolin
Rename 'src/VoiceDialogue' to 'src/voice_dialogue'.
511ff0c
from collections import OrderedDict
class LRUCacheDict(OrderedDict):
"""带有大小限制的字典,自动淘汰最近最少使用的项"""
def __init__(self, *args, maxsize: int = 10, **kwargs):
assert maxsize > 0
self.maxsize = maxsize
super().__init__(*args, **kwargs)
def __setitem__(self, key, value):
super().__setitem__(key, value)
super().move_to_end(key)
while len(self) > self.maxsize:
oldkey = next(iter(self))
super().__delitem__(oldkey)
def __getitem__(self, key):
val = super().__getitem__(key)
super().move_to_end(key)
return val