def zip_expand(x, y): if isinstance(x, list) and isinstance(y, list): if len(x) != len(y): raise Vips.Error("zip_expand list args not equal length") return list(zip(x, y)) elif isinstance(x, list): return [[i, y] for i in x] elif isinstance(y, list): return [[x, j] for j in y] else: return [[x, y]]