Курс 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. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  2. Условные выражения в Python
  3. Извлечение чисел из текста
  4. Логический оператор «and» в Python
  5. Создание и удаление объектов
  6. Работа с кортежами в Python
  7. Функция eval() в Python
  8. Дефолтные параметры в Python
  9. Функции с дополнением
  10. Удаление элементов по срезу
  11. Создание списка дат
  12. Метод repr() в Python
  13. Работа с кортежами
  14. Синхронизация доступа к ресурсам
  15. Преобразование чисел в Python
  16. Установка и использование emoji
  17. Генерация случайных чисел Python
  18. Операторы присваивания в Python
  19. Метод setitem в Python
  20. Удаление falsy-значений из списка с помощью filter
  21. Метод __ilshift__ для битового сдвига влево
  22. Измерение времени выполнения кода
  23. Работа с кортежами в Python
  24. Установка User-Agent в Python
  25. Парсинг статей с Newspaper3k
  26. kwargs в Python
  27. Операторы объединения в Python 3.9
  28. Декораторы классов
  29. Избегайте двойного подчеркивания
  30. Декоратор Ajax required
  31. Итерации в Python
  32. Аннотации типов в Python
  33. Работа с библиотекой xkcd
  34. Экспорт данных в файл.
  35. Отладчик pdb: начало работы
  36. Получение значений из словарей
  37. Работа со строками
  38. Установка пакетов с помощью pip
  39. Генерация QR-кодов с библиотекой qrcode
  40. Умножение строк и списков
  41. Обмен значений переменных в Python
  42. Класс Counter() для подсчета элементов
  43. Хранение переменных в Python.
  44. Управление асинхронными задачами на Python.
  45. Подсчет элементов в Python
  46. Непрерывная проверка в Python

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