Курс 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. Combobox в Tkinter
  2. Управление виртуальными средами в Python
  3. Оператор assert в Python
  4. Ускорение обработки данных с %autoawait
  5. Переменные в Python
  6. Получение частей дроби
  7. Работа с argparse
  8. Ключевое слово global в Python
  9. Замер времени выполнения кода
  10. Перевод двоичного кода в целое число
  11. Модуль functools в Python
  12. Проверка элементов списка условием
  13. Перезагрузка оператора в Python
  14. Скачать видео с YouTube
  15. Метод rpow в Python
  16. Сортировка в Python
  17. Создание GUI с Tkinter: Entry
  18. Проверка класса объекта
  19. Python: библиотеки и функции
  20. Функциональное программирование в Python
  21. Работа с парами ключ-значение
  22. Работа с множествами в Python
  23. Копирование объектов в Python
  24. Константы в модуле cmath
  25. Добавление элемента в список.
  26. Создание лямбда-функций
  27. Иерархия классов в Python
  28. Определение индекса элемента списка
  29. Множественное назначение в Python
  30. Хеширование паролей с использованием salt
  31. Настройка вывода в Numpy
  32. Изменение объектов в Python
  33. Метод __float__ в Python
  34. Работа с контекстными переменными
  35. Сравнение строк в Python
  36. Транспонирование матрицы
  37. Руководство по Pymorphy2
  38. Управление контекстом выполнения
  39. Список и кортеж в Python
  40. Преобразование PowerPoint в PDF.
  41. Нарезка списков в Python
  42. Аннотации типов в Python
  43. Работа с collections в Python.

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