Курс 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
  2. Разделение строки с помощью re.split()
  3. Списковый компрехеншен.
  4. Участие в сообществе @selectel
  5. Удаление элементов из списка
  6. Метод Self в Python
  7. Функция zip() — объединение последовательностей
  8. Передача параметров в Python
  9. Запуск внешних программ с subprocess
  10. Python: динамическая типизация и проверка типов
  11. Оптимизация памяти с slots
  12. Основы работы с os
  13. Нахождение хеша для бесконечности и NaN в Python
  14. Структура строк в Python
  15. Условные выражения в Python
  16. Подсчет частоты элементов с Counter
  17. Управление браузером с Selenium
  18. Разделение строки на подстроки в Python
  19. Преобразование PowerPoint в PDF.
  20. Работа с комплексными числами
  21. Избегайте ошибку FileNotFoundError
  22. Профилирование данных с Pandas
  23. Установка Python — Простое руководство
  24. Поиск простых чисел
  25. Повторение элементов списков
  26. Codecademy в Telegram
  27. Подсчет элементов в списке с Counter
  28. Управление памятью в numpy.
  29. Переворот последовательности
  30. Создание списка через цикл
  31. Названия переменных
  32. Множества и frozenset
  33. Очистка входных данных
  34. Транспонирование матрицы
  35. Повторение элементов в Python
  36. Работа с массивами в Python
  37. Работа с timedelta
  38. Передача аргументов в Python
  39. Показ всплывающих окон Tkinter
  40. Скачать видео с YouTube
  41. Работа со строками в Python.
  42. Работа со стеком в Python

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