list.pop() работает не так как нужно

Вот код:

x = [1,2,3]
y = x
y.pop(1)
print(x)

Мне в программе нельзя менять список x, и чтобы производить разные метаморфозы (например list.pop()), я копирую его в переменную y, но когда я удаляю элемент из списка y, он также удаляется и в x. Код выше выводит в консоль [1,3], хотя задумывалось что будет выводиться [1,2,3]. Как это исправить?


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

Автор решения: Alpensin

Нужно присвоить y копию списка x. А вы ссылаетесь y на тот же объект в памяти, что и x.

x = [1,2,3]
y = x.copy()
y.pop(1)
print(x)
→ Ссылка