I have created this simple 5x5 matrix in python but when I try to modify one cell, eg. a[1][1], it modifies the first element of every row.
a = [[False] * 5] * 5
print("Original matrix : \n", a)
a[1][1] = True
print("Modified : \n", a)
I get the output as :
Original matrix :
[[False, False, False, False, False], [False, False, False, False, False], [False, False, False, False, False], [False, False, False, False, False], [False, False, False, False, False]]
Modified :
[[False, True, False, False, False], [False, True, False, False, False], [False, True, False, False, False], [False, True, False, False, False], [False, True, False, False, False]]
Does python ignore the second dimension? Why does this happen?