Курс 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. Наиболее частотные элементы с помощью Counter
  3. Лямбда-функции в Python
  4. Сортировка элементов с OrderedDict
  5. Удаление элемента по индексу в Python
  6. Применение функции к списку
  7. Генераторы в Python
  8. Экранирование символов в Python
  9. Декодирование байтов в строку
  10. Progress с библиотекой tqdm
  11. Поиск наиболее частого элемента
  12. Методы обработки строк в Python
  13. Python 3.12: Псевдонимы типов
  14. Протокол управления контекстом
  15. Объединение словарей в Python
  16. Профилирование кода на Python
  17. Работа с рекламными данными в Pandas
  18. Управление памятью в numpy.
  19. Удаление URL-адресов в Python
  20. Анонимные функции в Python
  21. Генераторные функции в Python
  22. Генератор данных в Keras
  23. Распаковка аргументов в Python
  24. Очистка вывода в Python
  25. Вычисление фазы комплексного числа
  26. Генерация строк с .join()
  27. Инверсия списка и строки
  28. Декораторы для регистрации функций
  29. Использование модуля __future__
  30. Создание итератора
  31. Метод gt в Python
  32. Форматирование строк в Python
  33. Объединение словарей в Python
  34. Многострочные комментарии в Python
  35. Преобразование данных в Python
  36. Автоматизация действий с Pyautogui
  37. Работа с NumPy
  38. Метод invert для побитового отрицания
  39. Хранение переменных в словаре.
  40. Удаление файлов и папок в Python
  41. Обработка ошибок ввода данных
  42. None в Python: использование и особенности
  43. Python: отличительная особенность — отступы
  44. Избегайте изменяемых аргументов
  45. globals и locals
  46. Функция zip() для объединения списков
  47. Работа с изменяемыми списками
  48. Python 3.12: переиспользование кавычек
  49. Тестирование с unittest

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