List of Lists of Object referencing same object in Python -
i'm new python , i'm not extremely familiar syntax , way things work exactly. it's possible i'm misunderstanding, can tell code line:
largeboard = [[board() in range(3)] j in range(3)] is creating 9 references same board object, rather 9 different board objects. how create 9 different board objects instead?
when run:
largeboard = [[board() in range(3)] j in range(3)] x_or_o = 'x' largeboard[1][0].board[0][0] = 'g' # each board has board inside list in range(3): j in range(3): k in range(3): l in range(3): print largeboard[i][j].board[k][l] i multiple 'g' made me think references same object.
you have reversed: are creating 9 independent board instances there. if had like
largeboard = [[board()] * 3] * 3 then have single instance. root of common mistake many python newcomers make.
[x in range(3)] evaluates x once each i (3 times here) whereas [x] * 3 evaluates x once.
Comments
Post a Comment