python Список изменяется хотя с ним не производится операций

У меня есть рекурсивная функция, вот маленький кусочек из её работы:

k = list(visited[:].copy())

if count == 2:
    for i in visited:
        print(i)
    print(id(visited),5)
    print(id(k),6)
        
rec(id_,x-1,y,count+1,k, path.copy(), wallsV, wallsH,w,h)
        
if count == 2:
    print(id(visited),7)
    for i in visited:
        print(i)

Создаётся копия массива visited в переменную k, далее k передаётся в следущую итерацию рекурсии

В подтверждение того что это новый список а не ссылка выводятся id списков, в выводах с пометками 5 и 7 они одинаковые, а с пометкой 6 другой id

И всё бы хорошо но visited по итогу изменяется, что видно на выводе:

[False, False, False, False, False, False, False, False, False]
[False, False, False, False, False, False, False, False, False]
[False, False, False, False, False, False, False, False, False]
[False, False, False, False, False, False, False, False, False]
[False, False, False, False, False, False, False, False, False]
[False, False, True, True, True, False, False, False, False]
[False, False, False, False, False, False, False, False, False]
[False, False, False, False, False, False, False, False, False]
[False, False, False, False, False, False, False, False, False]
[False, False, False, False, False, False, False, False, False]
2030876399296 5
2030876399680 6
2030876399296 7
[True, True, True, True, True, True, True, True, True]
[True, True, True, True, True, True, True, True, True]
[True, True, True, True, True, True, True, True, True]
[True, True, True, True, True, True, True, True, True]
[True, True, True, True, True, True, True, True, True]
[True, True, True, True, True, True, True, True, True]
[True, True, True, True, True, True, True, True, True]
[True, True, True, True, True, True, True, True, True]
[True, True, True, True, True, True, True, True, True]

visited изменяется хотя с ним вообще не происходит никаких действий! Объясните пожалуйста почему так. Я проверил на нескольких версиях питона и на онлайн интерпретаторе, результат одинаковый


Ответы (1 шт):

Автор решения: Сергей

Ответ автора вопроса (перенесен): "проблема оказалась в том что ссылку на основной список я убрал, а вложенные списки так и остались слинкованы. Нужно было использовать copy.deepcopy".

→ Ссылка