Курс 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. Игра Виселица на Python
  4. Работа со строками в Python
  5. Python Ellipsis использование
  6. Форматирование строк с % в Python
  7. Значения по умолчанию в Python
  8. Объединение, распаковка и деструктуризация
  9. Работа с YAML в Python: PyYAML.
  10. Игра «Камень, ножницы, бумага» — Python
  11. Проекты на Python
  12. Установка и загрузка Instaloader
  13. Манипуляция формой массива в Numpy
  14. Динамическая типизация в Python
  15. Управление контекстом с помощью декоратора contextmanager
  16. Игра «Угадывание чисел»
  17. Метод __ilshift__ для битового сдвига влево
  18. Анализ текста на русском языке с помощью Pymystem3
  19. Изменения в обработке логических значений
  20. Объединение строк с помощью метода join
  21. Создание панели меню Tkinter
  22. Работа с прокси в Python
  23. Работа с YAML в Python
  24. Передача аргументов через **arguments
  25. Antigravity модуль
  26. Изменение списка срезом
  27. Извлечение статей с newspaper3k
  28. Декораторы в Python
  29. Форматирование заголовков в Python
  30. Открытие, чтение и закрытие файла
  31. Функция с *args.
  32. Работа с дробями в Python
  33. Установка и использование Virtualenv
  34. Работа с f-строками 2.0
  35. Транспонирование 2D-массива с помощью zip
  36. Работа со строками в Python
  37. Обновление и получение данных в SQLite
  38. Мощь вложенных функций в Python
  39. Генерация QR-кодов с библиотекой qrcode
  40. Генерация резюме в Gensim
  41. Flask: создание веб-приложений
  42. Counter() — подсчет элементов
  43. Установка максимального количества цифр
  44. Фильтрация последовательности
  45. Округление в Python
  46. Операции с датами в Python
  47. Динамические маршруты во Flask
  48. Группировка элементов в словарь

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