Курс 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. Функция rsplit() в Python
  2. Объединение списков в строку
  3. Проверка типа объекта в Python
  4. Моржовый оператор в Python 3.8
  5. Декораторы в Python
  6. Python 3.12: переиспользование кавычек
  7. Повторение элементов в Python
  8. Операции с массивами в NumPy
  9. Методы split() и join() — Python строк.
  10. Мониторинг работы программы Py-spy
  11. Атрибуты класса и экземпляра в Python
  12. Удаление эмодзи с помощью pandas
  13. ChainMap избыточные ключи
  14. Логические значения в Python
  15. Загрузка постов Instagram
  16. Списки: объединение, изменение
  17. Метод __int__ в Python
  18. Измерение времени выполнения с помощью time
  19. Форматирование строк в Python
  20. Установка Git и AWS CLI
  21. Оптимизация памяти в Python
  22. Преобразование объекта в строку
  23. Бесконечные списки в Python
  24. Удаление символа из строки
  25. Перемещение и удаление файлов в Python
  26. Реализация метода __abs__ в Python
  27. Лямбда-функции в Python
  28. Применение промокода в Много лосося
  29. Оптимизация создания строк
  30. Отправка HTTP-запросов с User-Agent
  31. Функции any() и all() в Python
  32. Слияние словарей в Python 3.9
  33. Аннотации типов в Python
  34. Enum в Python
  35. JMESPath в Python
  36. Декораторы в Python
  37. Красивый вывод списка
  38. Удаление falsy-значений из списка с помощью filter
  39. Форматирование строк с % в Python
  40. Поиск подстроки в строке
  41. Логический оператор «and» в Python
  42. Работа с очередями в Python
  43. Работа со случайными элементами
  44. Удаление и повторная вставка ключа в OrderedDict
  45. Копирование объектов в Python
  46. Сортировка элементов в Python
  47. Многострочные комментарии в Python

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