I am trying to make a simple game of minesweeper without using OOP and have two lists: one holding the values of the table ('board[]') and one that should be empty for now ('revealed[]').
When i create an empty list of the right size in board_create() and append it to both lists the values in list 'revealed[]' change whenever I change the values in 'board[]'.
Yes, running the function for just 'revealed[]' does work but I just want to know why exactly this happens.
board = []
revealed = []
board_size = []
#creates board with size x,y
def board_create(x, y):
    global revealed
    global board
    global board_size
    board = []
    board_size = [x, y]
    for i in range(y):
        out = []
        for j in range(x):
            out.append(0)
        board.append(out)
        revealed.append(out)
board_create(3,3) would output
'board = [[0,0,0],[0,0,0],[0,0,0]]' and 'revealed = [[0,0,0],[0,0,0],[0,0,0]]' and when i change values in 'board[]' it should be
'board= [[0,1,x],[0,1,1],[0,0,0]]' (for example) and 'revealed = [[0,0,0],[0,0,0],[0,0,0]]'
not
'board= [[0,1,x],[0,1,1],[0,0,0]]' and 'revealed = [[0,1,x],[0,1,1],[0,0,0]]'
 
    