Hi guys! I am working on Conway's Game of Life right now and I've run into a little problem. I represent dead cells with 0s and live ones with 1s. Check this out:
>>> grid = [[0] * 3] * 3 >>> grid [[0, 0, 0], [0, 0, 0], [0, 0, 0]] >>> grid[0][0] = 1 [[1, 0, 0], [1, 0, 0], [1, 0, 0]] Now, that's not what I want. I just want the first element of the first sublist to be a 1, not the first of every one. Here's what I tried and didn't work: 0. grid = [[0] * 3][:] * 3 then the same grid[0][0] = 1 statement 1. grid = [[0][:] * 3] * 3 followed by the same assignment 2. (grid[0])[0] = 1 with the original initialization of the grid So, that means that it isn't a problem with two different variables refering to the same list (0. and 1. prove that). What I don't understand is why 2. doesn't work either. I'm baby-feeding my instructions to Python and the mistake is still there. Any ideas? Hope you can help. Thanks in advance, Pablo -- http://mail.python.org/mailman/listinfo/python-list