Курс 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. split() — разделение строки
  2. Удаление символа из строки
  3. Поиск индекса элемента
  4. Раздувающийся словарь в Python
  5. Использование super() в Python
  6. Нан-рефлексивность в Python
  7. Генераторы в Python
  8. Работа с пакетами
  9. Сумма элементов списка
  10. Отделение звука от видео
  11. Функция zip() для объединения списков
  12. Преобразование списка в словарь через генератор
  13. Поиск файлов по шаблону
  14. Декодирование строк в Python
  15. Структура строк в Python
  16. Оператор обр. импликации
  17. Методы и функции в Python
  18. Создание файла с проверкой ошибки
  19. Операции с матрицами в Python
  20. Печать календаря в Python
  21. Шаблоны Flask: условия и циклы
  22. Избегайте использования goto
  23. Срезы в Numpy
  24. Оператор @ для умножения матриц
  25. Операции с кортежами
  26. Визуализация пропусков данных
  27. Сравнение объектов в Python
  28. Метод __ixor__ для побитового исключающего ИЛИ
  29. Модуль pprint: улучшение вывода данных
  30. Запуск Python из интерпретатора
  31. Списки: объединение, изменение
  32. Работа с аргументами командной строки в Python
  33. Избегайте ошибку FileNotFoundError
  34. Метод clear для коллекций
  35. Метод join() для объединения элементов строки
  36. Numpy: разбиение массивов
  37. Транспонирование 2D-массива с помощью zip
  38. Добавление элементов в список
  39. Принципы программирования
  40. Введение в Python

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