是否有任何内置(或非常简单)的方法让 python 字典以与双端队列类似的方式工作。
我需要它有一个最大长度,当添加新键时,如果达到最大长度,那么首先添加的键将被删除。作为自定义类实现应该不会太困难,但始终首选使用内置函数。
如果有任何帮助,我正在使用 Python 3.6。
最佳答案
这听起来像是 OrderedDict
的变体。
class FixSizeOrderedDict(OrderedDict):
def __init__(self, *args, max=0, **kwargs):
self._max = max
super().__init__(*args, **kwargs)
def __setitem__(self, key, value):
OrderedDict.__setitem__(self, key, value)
if self._max > 0:
if len(self) > self._max:
self.popitem(False)
关于python - 需要 python 字典像双端队列一样(具有最大长度),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49274177/