Курс 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. Сортировка HTML по CSS-селектору
  2. Проверка типов с помощью isinstance
  3. Работа с YAML в Python
  4. Работа с модулем os в Python
  5. Избегайте использования goto
  6. Операторы объединения в Python 3.9
  7. Оператор умножения для вектора
  8. Метод title() в Python
  9. Необязательные аргументы в Python
  10. Преобразование Word в PDF с Spire.Doc
  11. Логирование с Loguru
  12. Очистка вывода в Python
  13. Проверка подстроки в строке с помощью in
  14. Оператор space-invader
  15. Регулярные выражения в Python
  16. Методы и функции в Python
  17. Перезапуск ячейки в Jupyter Notebook с dostoevsky
  18. Фильтрация списка чисел
  19. Условные выражения в Python
  20. Бинарный поиск
  21. Установка и использование Python-dateutil
  22. Генерация фальшивых данных с Faker
  23. Сглаживание списка
  24. Функции min(), max(), sum()
  25. Проверка условий: all и any
  26. Оператор «not» в Python
  27. Python и Монти Пайтон
  28. Удаление дубликатов из списка
  29. Курсы Яндекс Практикум
  30. Назначение максимального и минимального значения переменной в Python.
  31. Переопределение метода __rshift__
  32. Очистка строки в Python
  33. Тип CodeType в Python.
  34. Парсинг веб-страниц с Beautiful Soup
  35. Чтение бинарного файла в Python.
  36. Оптимизация создания строк
  37. Декоратор для группы пользователей в Django
  38. Многоточие в Python
  39. Функция zip() в Python
  40. Использование модуля __future__
  41. Список переменных с %who
  42. Функция eval() в Python
  43. Принципы программирования
  44. Работа с модулем Calendar
  45. Уникальные значения из списка
  46. Декораторы в Python
  47. Работа с пользовательским вводом

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