Курс 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. Получение ID процесса
  2. Работа с байтовыми строками в Python
  3. Поиск всех индексов подстроки
  4. Избегайте двойного подчеркивания
  5. Модуль itertools: комбинации и перестановки
  6. Форматирование строк с помощью f-строк
  7. Профилирование кода
  8. Абстракции словарей и множеств в Python
  9. Основы работы с базами данных в Python
  10. Работа с множествами в Python
  11. Удаление элементов во время итерации
  12. Методы __repr__ и __str__ в Python
  13. Непрерывная проверка в Python
  14. Метод get для словаря
  15. Установка и использование pyshorteners
  16. Модуль xkcd: добавление юмора в Python
  17. Функции высшего порядка в Python
  18. Удаление и повторная вставка ключа в OrderedDict
  19. Получение частей дроби
  20. Работа с датами в Python
  21. Аннотации типов в Python
  22. Измерение времени выполнения кода в Python
  23. Передача параметров в Python
  24. Работа с изменяемыми списками
  25. Оператор zip в Python
  26. Метод rrshift для пользовательских объектов
  27. Работа с модулем random
  28. Оптимизация гиперпараметров в Python
  29. Создание пар из последовательностей
  30. Создание списков в Python
  31. Метод rename() для переименования файлов и каталогов
  32. Тест скорости набора текста на Python
  33. Принципы SRP и OCP
  34. Установка Python3.7 и PIP
  35. Функция zip() — объединение последовательностей
  36. Преобразование вложенного списка
  37. Работа со словарями Python
  38. Поиск шаблона в начале строки
  39. Установка и использование библиотеки google
  40. Кортежи в Python: особенности и преимущества
  41. Функция enumerate в Python
  42. Метаклассы в Python
  43. Выражения-генераторы в Python
  44. Обработка исключений
  45. Работа с CSV файлами в Python
  46. Списки: объединение, изменение
  47. Генераторы в Python
  48. Получение комбинаций в Python
  49. Присвоение значений переменным в Python

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