I noticed this problem in something I was making, and managed to reproduce it in a simpler form.
The problem is that I have two players - both of a Person class - and they each have their own grid. I start off with a global grid variable and assign each Person's grid to that global variable. However, when I change one Person's grid, the other Person's grid changes, too!
Here's the code and output:
Anyone have any suggestions as to why this happens?
EDIT:
I tried the list() suggestion. This worked in one program, but in my main program it didn't do anything.
Players[1].Grid = list(Grid)
Players[0].Grid = list(Grid)
This outputs the same thing when I changed on of the lists.