Курс 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. Модуль future Python
  3. Генерация резюме в Gensim
  4. Функция reduce() в Python
  5. Передача аргументов в Python
  6. Оператор is в Python
  7. Модуль math: константы π и e
  8. Расчет времени выполнения
  9. Подсчет элементов в списке с Counter
  10. Сериализация и десериализация объектов
  11. Управление виртуальными окружениями в Python
  12. Работа с комплексными числами
  13. Создание новых функций с помощью functools.partial
  14. Сокращение ссылок с pyshorteners
  15. Функции all и any в Python
  16. Конвертация изображений в PDF
  17. Принципы SRP и OCP
  18. Передача аргументов через **arguments
  19. Использование функции enumerate()
  20. Регулярные выражения: метод match
  21. Обновление множества в Python
  22. Форматирование заголовков в Python
  23. Импорт модулей в Python 3.12
  24. Метод pop() списка
  25. Протокол управления контекстом
  26. Работа с классами данных
  27. Работа с пользовательским вводом
  28. Работа с изображениями PIL
  29. Срезы в Python
  30. Метод count в Python: почему count(», ») возвращает 4?
  31. Поиск самого частого элемента
  32. Метод split() для разделения строк
  33. Функции all() и any() в Python
  34. Переворот строки
  35. Работа с индексами списков
  36. Операторы объединения в Python 3.9
  37. Создание списков в Python
  38. Гибкие функции Python
  39. Принцип одной функции
  40. Генераторы и сеты в Python
  41. Итерации в Python
  42. Управление ресурсами с контекстными менеджерами
  43. Функция pow() — возвести число в степень
  44. Стать Python-разработчиком

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