В моем текущем коде вложенных циклов 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, который будет сброшен равным исходному массиву.Затем изменяются и повторяются.
Фактический результат оставляет массив коротким на одно значение каждую итерацию, заканчиваясь слишком коротким диапазоном для завершения всех итераций