Почему изменения в tempArray влияют на parentArray? - PullRequest
1 голос
/ 16 мая 2019

В моем текущем коде вложенных циклов while у меня есть оператор для перезагрузки переменной tempSequence, равной исходной переменной последовательности.Однако с помощью проверки печати вы можете увидеть, что del(tempSequence[i]) удаляет значение как из tempSquence, так и из переменных последовательности.Я не понимаю, почему родительская последовательность затрагивается таким образом.

Я попытался сохранить переменную sequence в начале внешнего цикла, добавив новый список внутри цикла, чтобы сохранить исходныйданные, а также перемещение оператора tempSequence = sequence в разных местах кода.

Простой способ -> Repl.it ссылка

Другой способ:

while i <= len(sequence):

    tempSequence = sequence **<<<< this doesn't work but**

    del(tempSequence[i])
    print(sequence)
    print(tempSequence)

    j = 0  **<<<< This works every loop**

Ожидаемый результат будет для tempSequence, который будет сброшен равным исходному массиву.Затем изменяются и повторяются.

Фактический результат оставляет массив коротким на одно значение каждую итерацию, заканчиваясь слишком коротким диапазоном для завершения всех итераций

...