Курс 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. Объединение Python и Shell
  2. Поиск анаграмм с Counter
  3. Профилирование кода на Python
  4. Создание словаря через dict comprehension
  5. Особенности ключей словаря в Python
  6. Управление контекстом с помощью декоратора contextmanager
  7. Закрытие файла в Python
  8. Перезапуск ячейки в Jupyter Notebook с dostoevsky
  9. Создание Radio кнопок в tkinter
  10. История Python
  11. Получение текущей даты в Python
  12. Структура данных deque в Python
  13. Форматирование строк с помощью f-строк
  14. Работа с кортежами в Python
  15. Основы работы со строками в Python
  16. List Comprehension Tutorial
  17. Генераторы списков
  18. Частичное совпадение пользовательского ввода в Python 3.10
  19. Поиск кода
  20. Работа с контекстным менеджером Pool
  21. Итерации в Python
  22. Определение индекса элемента списка
  23. Замыкания в Python
  24. Рациональные числа в Python
  25. Упрощение условных выражений с тернарным оператором
  26. Разделение списка на гнппы
  27. Удаление дубликатов из списка
  28. Определение размера папок в Python
  29. Подробная информация о %pinfo
  30. Проверка памяти объекта
  31. Разделение строк в Python
  32. Переменная с нижним подчеркиванием
  33. Форматирование строк в Python
  34. Настройка логгера Logzero
  35. Метод join() для объединения элементов строки
  36. Строковое представление объектов
  37. Склеивание строк через метод join()
  38. Управление импортом в Python
  39. Удаление URL-адресов в Python
  40. Тип данных TypeVarTuple
  41. Хранение переменных в Python.
  42. Возврат нескольких значений из функции
  43. Получение частей дроби
  44. Создание детектора плагиата
  45. Метод title() в Python

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