Курс 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. Выбор редактора кода.
  2. Получение ID текущего процесса
  3. Переопределение метода len
  4. Проблемы с dict в Python
  5. Декоратор Ajax required
  6. Закрытие файла в Python
  7. Удаление символов новой строки в Python.
  8. Улучшенные подсказки для импорта в Python 3.12
  9. Конвертация текстовых чисел с помощью Numerizer
  10. Операции с числами в Python
  11. Парсинг статей с Newspaper3k
  12. capitalize() — изменение регистра первого символа строки
  13. Изменение логики работы с временем
  14. Проверка условий: all и any
  15. Создание генераторов в Python
  16. Возврат значений из генератора
  17. Библиотека sh: удобные команды терминала
  18. Определение локальных переменных в Python
  19. Функция enumerate() в Python
  20. Функция product() из itertools
  21. Сортировка с помощью параметра key
  22. Работа с deque в Python
  23. Создание списка дат
  24. GitHub в Telegram: подписка на уведомления
  25. Добавление Progressbar в Python
  26. Множественное наследование в Python
  27. Идентификатор объекта в Python
  28. Итераторы в Python
  29. Эффективная конкатенация строк в Python
  30. Подсказки типов в Python
  31. Установка и использование библиотеки google
  32. Форматирование данных с pprint
  33. Python enumerate() использование
  34. Переименование файлов в Python
  35. Форматирование данных с помощью pprint
  36. Метод splitlines() для разделения строк
  37. Создание новых функций через partial
  38. Оптимизация создания строк
  39. Группировка элементов в словарь
  40. Операторы увеличения и уменьшения в Python
  41. Проверка типа объекта в Python
  42. Виртуальные среды в Python
  43. Основы работы со строками в Python

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