def remove(self, w):
    if (not w):
        return
    hash = (lambda e: enumerate(map(self.topx, list(zip(e.x, e.y)))))
    for (i, px) in hash(w):
        s = self._map.get(px)
        if s:
            s.discard((w, i))
def remove(self, w):
    if (not w):
        return
    hash = (lambda e: enumerate(map(self.topx, list(zip(e.x, e.y)))))
    for (i, px) in hash(w):
        s = self._map.get(px)
        if s:
            s.discard((w, i))