Итак, я пытаюсь загрузить свой стек, который является обычной реализацией, используемой для стека, как в списке, и когда я добавляю, я использую функцию добавления.
Я пытаюсь добавитькаждая матрица отличается на 1 элемент, но после добавления их два значения в стеке совпадают (матрица после второй модификации).
def getSuccessors(self, state, stack):
ff = self.firstEmpty(state)
rets = []
for v in ['X', 'O']:
state[ff[0]][ff[1]] = v
if self.isValid(state):
statecp = state.copy()
yield statecp
Это мой метод.firstEmpty просто возвращает индексную пару, которая будет изменена.Я создаю копию матрицы перед добавлением, но она все равно выглядит так, как будто она принимает тот же объект.Полученные значения не затрагиваются, они идут непосредственно в метод stack.push.Чего мне не хватает?