def pop_smallest(self):
        """Return the item with the lowest priority and remove it.

        Raises IndexError if the object is empty.
        """
        
        heap = self._heap
        v, k = heappop(heap)
        while k not in self or self[k] != v:
            v, k = heappop(heap)
        del self[k]
        return k
Return the item with the lowest priority and remove it.

        Raises IndexError if the object is empty.
        
recipes/Python/522995_Priority_dict_priority_queue_updatable/recipe-522995.py