def fill_zero(x: np.array, rect: Rectangle): assert isinstance(rect, (Shape, list, tuple, set)) if isinstance(rect, Shape): upper, lower, left, right = rect.get_upper(), rect.get_lower( ), rect.get_left(), rect.get_right() if len(x.shape) == 3: x[upper:lower, left:right, :] = 0 else: x[upper:lower, left:right] = 0 else: for r in rect: fill_zero(x, r)