Курс 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. Логический оператор «and» в Python
  2. Python 3.12: Псевдонимы типов
  3. Явный импорт в Python
  4. IPython и Jupyter Notebook: руководство
  5. Работа с буфером обмена на Python
  6. Генераторы в Python
  7. Функция pow() — возвести число в степень
  8. Типы возвращаемых значений в Python
  9. Monkey Patching в Python
  10. Инверсия списка и строки
  11. Работа с рекламными данными в Pandas
  12. Параллельные вычисления в Python
  13. Progress с библиотекой tqdm
  14. Парсинг веб-страниц с Beautiful Soup
  15. Условные выражения в Python
  16. Функции map, filter, reduce
  17. Деление в Python
  18. Управление виртуальными средами в Python
  19. Метод __irshift__ для Python
  20. Декоратор для группы пользователей в Django
  21. Перегрузка операторов в Python
  22. Повторение элементов в Python
  23. Функция reduce() в Python
  24. Модуль antigravity: генерация координат
  25. Загрузка постов Instagram
  26. Подсчет элементов в Python
  27. Эффективная конкатенация строк в Python
  28. Проверка типов с использованием isinstance
  29. Flask: создание веб-приложений
  30. Отладка кода
  31. Оператор (*) в Python
  32. Библиотека sh: удобные команды терминала
  33. Генераторы в Python
  34. Многострочные строки в Python
  35. Упрощение работы с JSON-данными в Python
  36. Построение графиков в Matplotlib
  37. Измерение времени выполнения кода в Python
  38. Выход из профиля в Django
  39. Копирование и вставка текста в Python
  40. Блок else в обработке исключений
  41. Использование обратной косой черты в f-строках
  42. Установка и использование howdoi
  43. Регистрация на хакатоне
  44. Обработка ошибок в Python
  45. Таймер обратного отсчета
  46. Создание новых списков в Python

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