def remove()

in heap.py [0:0]


    def remove(self, pos):
        if pos != len(self.data) - 1:
            self._swap_pos(pos, len(self.data) - 1)
            self.invalid_pos.discard(len(self.data) - 1)
            self.data.pop()
            if pos > 0 and self.cmp(self.data[pos], self.data[self.parent(pos)]):
                self.sift_up(pos)
            else:
                self.sift_down(pos)
        else:
            self.invalid_pos.discard(len(self.data) - 1)
            self.data.pop()