Форум сайта python.su
0
self.grid_index = [(0, 0), (0, 1), (0, 2), (0, 3), (0, 4), (0, 5), (0, 6), (0, 7), (0, 8), (0, 9), (0, 10), (0, 11)...]
for (x,y) in self.grid_index:
print(x,y)
self.grid[x][y].coordinates = (x, y)
print(conway.grid[1][1].coordinates, conway.grid[1][2].coordinates, conway.grid[1][3].coordinates, conway.grid[1][4].coordinates)
(39, 39) (39, 39) (39, 39) (39, 39)
Офлайн
857
>>> lst = [(0, 0), (1, 1)] >>> >>> t = [[None, None], [None, None]] >>> >>> for (x, y) in lst: ... t[x][y] = (x, y) ... >>> t [[(0, 0), None], [None, (1, 1)]] >>>
vadimkaraНеправильно создаётся self.grid .
не пойму в чем бок
Офлайн
0
slef.grid это нумпай арраи с экземплярами класса внутри, во время иттерации, принтом видно что атрибут экземпляра меняется, но финальная иттерация затирает все последним значением.
self.grid = np.full((self.column, self.row), Cell(0, 0), dtype=np.object)
Отредактировано vadimkara (Март 25, 2015 02:20:42)
Офлайн
857
>>> import numpy as np >>> >>> class A(int): ... i = 1 ... >>> t = np.full((2, 2), A, dtype=np.object) >>> t array([[<class '__main__.A'>, <class '__main__.A'>], [<class '__main__.A'>, <class '__main__.A'>]], dtype=object) >>> t[0][0].i, t[0][1].i (1, 1) >>> t[0][0].i = 2 >>> t[0][0].i, t[0][1].i (2, 2) >>>
vadimkaraНе финальная, а каждая итерация переписывает предыдущую, потому что там все элементы массива ссылаются на один и тот же объект.
финальная иттерация затирает все последним значением
Офлайн
0
мда в голове каша как же я сразу не понял что экземпляр один и тот же спасибо
Офлайн