I am fiddling with lists and I cannot understand why a copy of the list is modifing the original list.
winC is a set of parameters that will modify a given list.
originList is untouched.
Then newList is copy of originList, so that I can modify it and compare the results with the previous one.
winC = [[[1, 1, 1], [0, 0, 0], [0, 0, 0]],
        [[0, 0, 0], [1, 1, 1], [0, 0, 0]],
        [[0, 0, 0], [0, 0, 0], [1, 1, 1]],
        [[1, 0, 0], [1, 0, 0], [1, 0, 0]],
        [[0, 1, 0], [0, 1, 0], [0, 1, 0]],
        [[0, 0, 1], [0, 0, 1], [0, 0, 1]],
        [[1, 0, 0], [0, 1, 0], [0, 0, 1]],
        [[0, 0, 1], [0, 1, 0], [1, 0, 0]]]
originList = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
newList = originList.copy()
print(originList)
print(newList)
for x in range(len(winC)):
    for y in range(len(winC[x])):
        for z in range(len(winC[x][y])):
            if winC[x][y][z] == 1:
                newList[y][z] += 1     ## Note that newList is being modified, not originList
print(originList)
print(newList)
When I run this code, originList and newList are changed, despite the fact that I only modified newList. I've tried using .copy(), list(originList) and originList[:], and none of those seem to work. I am still using Python 3.9.6 What should I do?
 
    