I've got an issue with lists right now. I've got 2 lists, Checker1 and Checker2, which check for the Ko rule in my game of Go. However, Checker2 should always be checking the board one turn behind Checker1, which checks the board every turn. That way, the Ko rule can be caught and dealt with. To do that, I have a Temp list which gets the contents of Checker1 before each run-through, and set it's contents to Checker2. Then the piece is added to the board. Checker1 gets the contents of the board, and Checker1 and Checker2 are compared to check for the Ko rule.
However, my problem is that for some reason, whenever Checker1 gets the contents of the board, Checker2's contents change to Checker1's contents (I've tested it through printing the 2 lists). Is there any particular reason why? I made copies of all of the lists doing
list1 = list2[:]
But the lists are still having their contents shared. Any idea why this is?