8000 Merge pull request #19750 from anntzer/md · matplotlib/matplotlib@06dc612 · GitHub
[go: up one dir, main page]

Skip to content

Commit 06dc612

Browse files
authored
Merge pull request #19750 from anntzer/md
Simplify maxdict implementation.
2 parents d654e5b + b8be385 commit 06dc612

File tree

1 file changed

+5
-8
lines changed

1 file changed

+5
-8
lines changed

lib/matplotlib/cbook/__init__.py

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -575,18 +575,15 @@ class maxdict(dict):
575575
This doesn't override all the relevant methods to constrain the size,
576576
just ``__setitem__``, so use with caution.
577577
"""
578+
578579
def __init__(self, maxsize):
579-
dict.__init__(self)
580+
super().__init__()
580581
self.maxsize = maxsize
581-
self._killkeys = []
582582

583583
def __setitem__(self, k, v):
584-
if k not in self:
585-
if len(self) >= self.maxsize:
586-
del self[self._killkeys[0]]
587-
del self._killkeys[0]
588-
self._killkeys.append(k)
589-
dict.__setitem__(self, k, v)
584+
super().__setitem__(k, v)
585+
while len(self) >= self.maxsize:
586+
del self[next(iter(self))]
590587

591588

592589
class Stack:

0 commit comments

Comments
 (0)
0