0

I'm creating for example a list of list variables. WHen I changed the one value, the whole column changed as well

data = [[False] * 5] * 5
data
[[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]]

data[3][4] = True
data
[[False, False, False, False, True],
 [False, False, False, False, True],
 [False, False, False, False, True],
 [False, False, False, False, True],
 [False, False, False, False, True]]

Same happened if it is a numerical variable. why does this happen??

U13-Forward
  • 69,221
  • 14
  • 89
  • 114
ayy
  • 139
  • 2
  • 9

1 Answers1

-1

oh i got it myself.....when i make data as = [] * 5, i am shallow copying them and thus change one changed all rows.

ayy
  • 139
  • 2
  • 9