Курс 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. Вывод с переменной через запятую
  2. Генерация случайных чисел в Python
  3. Генерация QR-кодов с Python
  4. Переопределение метода __lshift__
  5. Генераторы в Python
  6. Заказ карты Тинькофф Black
  7. Методы Python для работы с данными
  8. Подписка на Kaspersky Team
  9. Пересечение списков с использованием множеств
  10. Возвращение нескольких значений через кортеж или класс
  11. Основы Python за 14 дней
  12. Метод clear для коллекций
  13. Копирование и вставка текста в Python
  14. Удаление элементов из списка в Python
  15. Конкатенация строковых литералов
  16. Функции min(), max(), sum()
  17. Магические методы в Python
  18. Преобразование текста в нижний регистр
  19. HTTP-запросы с библиотекой Requests
  20. Генераторы и сеты в Python
  21. Тестирование с unittest
  22. Разделение строки с помощью re.split()
  23. Преобразование вложенного списка
  24. Оператор «or» в Python
  25. Установка User-Agent в Python
  26. Оптимизация гиперпараметров в Python
  27. Создание уникального проекта
  28. Зарезервированные слова в Python
  29. Оптимизация памяти с __slots__
  30. PUT запрос для обновления данных
  31. Введение в PyTorch
  32. Оператор объединения словарей
  33. Анонимные функции Lambda
  34. Работа с массивами в Numpy
  35. CSV строка разделение в Python
  36. Управление доступом к модулю
  37. Counter() — подсчет элементов
  38. Удаление файлов и папок в Python
  39. Возврат значений из генератора
  40. Поиск шаблона в начале строки
  41. Проверка надежности пароля на Python
  42. Функция product() в Python
  43. Библиотека funcy: удобные утилиты
  44. Обработка исключения UnboundLocalError
  45. Округление банкира в Python
  46. Закрытие файла в Python

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