I am confused why the below works but the following does not?
Input:
grid = [[0,1,0],[0,0,1],[1,1,1],[0,0,0]]
Working:
def foo(grid):
m = len(grid)
n = len(grid[0])
gridCopy = [[grid[row][col] for col in range(n)] for row in range(m)]
return gridCopy == grid
Does not work:
def bar(grid):
m = len(grid)
n = len(grid[0])
gridCopy = [[None] * n] * m
for i in range(m):
for j in range(n):
gridCopy[i][j] = grid[i][j]
return gridCopy == grid
I get the following grid returned from bar()
:
gridCopy = [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]