Курс 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. Оператор @ для умножения матриц
  2. Python Менеджер контекста
  3. Измерение времени выполнения кода
  4. Оптимизация памяти с помощью __slots__
  5. Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
  6. inspect в Python: анализ кода
  7. Присвоение и ссылки
  8. Перемещение и удаление файлов в Python
  9. f-строки в формате строк
  10. Форматирование заголовков в Python
  11. Извлечение аудио из видео
  12. Оптимизация строк в Python
  13. Декораторы с @wraps
  14. Поиск частых элементов в списке
  15. Принципы LSP и ISP в Python
  16. Оператор морж в Python 3.8
  17. Отделение звука от видео
  18. Автоматизация действий с Pyautogui
  19. Работа с collections в Python.
  20. lru_cache оптимизация функций
  21. Создание объекта timedelta
  22. Работа с collections.Counter
  23. Извлечение новостей с помощью newspaper3k
  24. Декоратор защиты анонимных пользователей
  25. Работа со строками в Python.
  26. Генерация случайных данных в NumPy
  27. Блок try…finally в Python
  28. Принцип одной функции
  29. Сортировка HTML по CSS-селектору
  30. Обновление множества в Python
  31. Подсчет элементов в Python
  32. Динамическая типизация в Python
  33. Обработка исключения UnboundLocalError
  34. Преобразование строки в число
  35. Выбор редактора кода.
  36. Очистка вывода в Python
  37. Защита данных в Python
  38. Генераторы данных
  39. Обработка элементов в Python
  40. Обработка исключений в Python 3
  41. Открытие и запись файлов
  42. Участие в сообществе @selectel
  43. Объединение списков с использованием itertools.chain
  44. Оптимизация памяти в Python
  45. Поиск наиболее частого элемента в списке
  46. Добавление Progressbar в Python
  47. OrderedDict — упорядоченный словарь

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