Курс Python → Создание копии списка в Python

Когда вы присваиваете значение одного списка другой переменной, как в случае y = x , вы не создаете новый список, а просто создаете ссылку на уже существующий список. Это означает, что при изменении списка через переменную y , вы также изменяете исходный список, на который ссылается переменная x . Это происходит потому, что обе переменные указывают на один и тот же объект в памяти.

Другими словами, списки в Python являются изменяемыми объектами, что означает, что их можно изменять после создания. При этом переменная, которая ссылается на список, не хранит сам список, а лишь ссылку на него. Поэтому любые изменения, сделанные через одну переменную, будут отражаться и на другой переменной, указывающей на тот же список.

Чтобы избежать такого поведения и создать копию списка, а не просто ссылку на него, вам необходимо использовать метод copy() или срезы. Например, можно создать копию списка x и присвоить ее переменной y следующим образом: y = x.copy() или y = x[:].


x = [1, 2, 3]
y = x.copy()
y.append(4)
print(x)  # Выведет [1, 2, 3]
print(y)  # Выведет [1, 2, 3, 4]

Таким образом, понимание того, как работают ссылки на изменяемые объекты в Python, поможет вам избежать непредвиденных изменений в ваших данных и создать копии списков при необходимости.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Отображение графиков в Jupyter с Matplotlib
  2. Работа с getopt
  3. Метод join() для объединения элементов строки
  4. Использование defaultdict в Python
  5. Функция format() в Python
  6. Установка random seed в Python
  7. Декоратор для группы пользователей в Django
  8. Оператор Walrus в Python
  9. Сортировка с помощью key
  10. Многострочные комментарии в Python
  11. Отрицательные индексы списков
  12. Принципы SRP и OCP
  13. Пропуск строк в файле с itertools
  14. Функции классификации комплексных чисел
  15. Ограничение итераций в Python
  16. Функция findall() для поиска вхождений строки
  17. Создание новых списков
  18. Контроль точности вывода чисел
  19. Метод ior для битовых операций
  20. Бесконечные списки в Python
  21. Роль запятой в Python
  22. Метод __ixor__ для побитового исключающего ИЛИ
  23. Подсказки при вводе данных в Python
  24. Шаблоны и наследование в Flask
  25. Flask — веб-фреймворк Python
  26. Компиляция регулярных выражений
  27. Объединение кортежей в Python
  28. Оператор @ для умножения матриц
  29. Метод matmul для умножения матриц
  30. Замена текста с re.sub()
  31. Итераторы с потерямиZIP
  32. Оптимизация параметров в Python
  33. Принцип одной функции
  34. Документирование функций в Python
  35. Лямбда-функции в цикле
  36. Работа со строками в Python.
  37. Удаление элемента из списка в Python
  38. Сортировка в Python
  39. GitHub в Telegram: подписка на уведомления
  40. Игра Виселица на Python
  41. Оператор объединения словарей
  42. Работа с пользовательским вводом

Marketello читают маркетологи из крутых компаний