A person on Quora asked how to transpose a list of lists in Python.
As usual I asked myself what is the simplest thing that could possibly work.
This is what I came up with:
def transpose(data):
visited = []
for y in range(len(data)):
for x in range(len(data[0])):
if (y,x) not in visited:
data[y][x], data[x][y] = data[x][y], data[y][x]
visited.append((x,y))
data = [
[0,0,0,0],
[1,1,1,1],
[0,0,0,0],
[1,1,1,1]
]
expected = [
[0, 1, 0, 1],
[0, 1, 0, 1],
[0, 1, 0, 1],
[0, 1, 0, 1]
]
transpose(data)
print(data)
