Я пробовал много способов скопировать список в другой список и не заставить их взаимодействовать друг с другом. Однако, когда я запускаю этот код под Map внутри функции next_turn, она изменяется, когда new_Map изменяется, разрушая результат. Как я могу это исправить? (Мой python ver 3.7)
def next_turn(Map) :
num_y = [-1, 0, 1, -1, 1, -1, 0, 1]
num_x = [1, 1, 1, 0, 0, -1, -1, -1]
flag = 0
new_Map = Map.copy()
for i in range(len(Map)) :
for j in range(len(Map[0])) :
sum = 0
for p in range(8) :
try :
if(Map[i + num_y[p]][j + num_x[p]] == 1) : sum +=1
except Exception as e :
pass
if (sum == 2 or sum == 3) :
new_Map[i][j] = 1
if(flag == 0 and (i ==0 or j == 0)) :
flag = 1
else :
new_Map[i][j] = 0
return (new_Map, flag)
def life_game(Map, num, flag) :
for i in range(num) :
if (flag == 1) :
increase_map(Map)
Map, flag = next_turn(Map)
return Map