def contains(self, key):
    return key in self._dict

def collect(self, maxage):
    while self._heap and self._heap[0][0] <= maxage:
        expiry, key = heapq.heappop(self._heap)
if self._dict.get(key) == expiry:
    del self._dict[key]

def items(self):
    return list(self._dict.items())
Идеальная структура данных с быстрым поиском, быстрым обновлением и простым сравнением/сортировкой.