# column and row parameters of array are backwards. Python

I have this piece of code here that generates a 2D array and fills it with ” “, asks the user to enter an x and y coordinate, and then changes that coordinate to a “1”. When I try to change the element, it seems that python uses the x variable as the array’s column coordinate and the y variable as the array’s row coordinate instead of vice versa. The output shows that the columns and rows are flipped

Here is the code:

```tm = []
for i in range(6):
row = []
for j in range(6):
row.append(" ")
tm.append(row)

x = int(input("x: "))
y = int(input("y: "))

tm[x][y] = "1"

for row in tm:
print(row)
```

And Here’s the output:

```>>>x: 4
>>>y: 5
>>>[' ', ' ', ' ', ' ', ' ', ' ']
[' ', ' ', ' ', ' ', ' ', ' ']
[' ', ' ', ' ', ' ', ' ', ' ']
[' ', ' ', ' ', ' ', ' ', ' ']
[' ', ' ', ' ', ' ', ' ', '1']
[' ', ' ', ' ', ' ', ' ', ' ']
```

Thanks in advance to any clever person out there that can figure this out!

If you consider `tm[x]` to be a row (as you do when looping and printing), then that means you’re treating `x` as a vertical coordinate, since rows are stacked vertically. Therefore, in `tm[x][y]`, `y` is referring to a particular column (i.e. horizontal position) in that row. You just have your coordinates backwards. `tm[y][x]` will work how you expect.