Курс Python → Работа с изменяемыми коллекциями

При работе с изменяемыми коллекциями, такими как списки в Python, необходимо помнить о том, что изменения, внесенные в один объект списка, будут отражены на всех ссылках на этот объект. Это означает, что если у вас есть несколько переменных, указывающих на один и тот же список, и вы изменяете его содержимое через одну из переменных, эти изменения будут видны и через другие переменные.

Например, если у нас есть список lst1 = [1, 2, 3] и мы присваиваем его другой переменной lst2 = lst1, то любые изменения, внесенные в lst2, также будут отражены в lst1. Это может привести к ошибкам, если мы не учтем этого поведения.

Для избежания подобных проблем рекомендуется создавать копии изменяемых коллекций, если вам необходимо работать с независимыми объектами. Для этого можно использовать метод copy() или срезы списка, например lst2 = lst1.copy() или lst2 = lst1[:].

# Пример кода
lst1 = [1, 2, 3]
lst2 = lst1.copy()

lst2.append(4)

print(lst1)  # Вывод: [1, 2, 3]
print(lst2)  # Вывод: [1, 2, 3, 4]

Таким образом, работа с изменяемыми коллекциями в Python требует внимательного подхода и понимания особенностей их работы, чтобы избежать нежелательных побочных эффектов и ошибок в коде.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Сравнение объектов в Python
  2. Приближение чисел в Python
  3. PUT запрос для обновления данных
  4. Преобразование PowerPoint в PDF.
  5. Python OrderedDict и fromkeys() — работа с словарями
  6. Python и Юникод: работа с цифрами
  7. Операторы объединения в Python 3.9
  8. Поиск всех индексов подстроки
  9. Функция zip() в Python
  10. Извлечение новостей с помощью newspaper3k
  11. Генераторные функции в Python
  12. Методы обработки строк в Python
  13. Работа с Path в Python
  14. Работа с OpenCV
  15. Создание GUI на Tkinter
  16. Namedtuple в Python
  17. Динамическая типизация в Python
  18. Python и Монти Пайтон
  19. Сортировка с параметром key
  20. Оператор «not» в Python
  21. Работа с изменяемыми списками
  22. Утечки переменных цикла в Python 3.x
  23. Операция += для списков
  24. Запуск Python из интерпретатора
  25. Big O оптимизация
  26. Функции в Python: создание и вызов
  27. Python union() функция — объединение множеств
  28. split() без разделителя
  29. Преобразование данных в Python
  30. Создание виртуальной среды
  31. Копирование списков в Python
  32. Метод округления чисел
  33. Управление контекстом выполнения
  34. Работа с рекламными данными в Pandas
  35. Сохранение Unicode в JSON
  36. Управление фоновыми задачами в Python
  37. Модуль itertools: эффективная работа с итераторами
  38. %pinfo: получение информации об объекте
  39. Python: динамическая типизация и проверка типов
  40. F-строки в Python 3.8
  41. Python Менеджер контекста
  42. Установка User-Agent в Python
  43. Функция product() из itertools
  44. Импортирование в Python
  45. Создание словаря с значением по умолчанию
  46. Оптимизация памяти с slots
  47. Использование html-скриптов в Jupyter Notebook
  48. Просмотр атрибутов и методов класса

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