grid = [ [".", ".", ".", ".", ".", "."], [".", "0", "0", ".", ".", "."], ["0", "0", "0", "0", ".", "."], ["0", "0", "0", "0", "0", "."], [".", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "."], ["0", "0", "0", "0", ".", "."], [".", "0", "0", ".", ".", "."], [".", ".", ".", ".", ".", "."], ] def show(grid): for row in grid: print("".join(row)) print("") def reorder(grid): res, curr = [], 0 while curr < len(grid[0]): line = "" for row in grid: line += row[curr] res.append(list(line)) curr += 1 return res show(grid) grid = reorder(grid) show(grid)