Look at the output from `Table`

. E.g. `z`

```
{{{-2, -2 I}, {-2, -I}, {-2, 0}}, {{-1, -2 I}, {-1, -I}, {-1, 0}}, {{0, -2 I}, {0, -I}, {0, 0}}}
```

This is a list of 3 elements. Each element is a list of tuples. Each tuple contains a real and an imaginary number.

I assume that you wanted to create a list of complex numbers and to plot them. To do so, you must write:

```
z = Flatten[Table[{x + I*y}, {x, -2, 0}, {y, -2, 0}], 1]
```

Further, `ComplexListPlot`

takes one argument and options. But when you write

```
ComplexListPlot[#, Joined -> True, PlotRange -> Full] & @@ z
```

All the elements of z are given as arguments to “ComplexListPlot`. The first is then treated as data, the rest as options. Therefore, you should write something like:

```
z = Flatten[Table[{x + I*y}, {x, -2, 0}, {y, -2, 0}], 1]
s = z^3
g = Union[z, s]
ComplexListPlot[z]
ComplexListPlot[s]
ComplexListPlot[g]
```