Курс 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. Работа с OpenCV
  4. Подписка на @SelectelNews
  5. Оператор обр. импликации
  6. Изменения в обработке логических значений
  7. Конкатенация строковых литералов
  8. Numpy: объединение массивов
  9. Метод __complex__ в Python
  10. Функция divmod() в Python
  11. Форматирование строк в Python
  12. Копирование объектов в Python
  13. Установка пакетов с помощью pip
  14. Преобразование списка в словарь через генератор
  15. Установка и использование Logzero
  16. Создание словарей в Python
  17. Условные выражения в Python
  18. Пространство имен в Python
  19. Извлечение аудио из видео
  20. Замена текста в Python
  21. Декоратор проверки активности
  22. Разделение строки с регулярными выражениями
  23. Обязательные аргументы в Python
  24. Python: изменяемые и неизменяемые коллекции
  25. Работа с модулем bisect
  26. Измерение времени выполнения кода
  27. Mad Libs Generator
  28. Команда %dhist — список посещенных каталогов
  29. Отладка кода
  30. Управление ресурсами с контекстными менеджерами
  31. Удаление URL-адресов в Python
  32. Работа с timedelta в Python
  33. Функция zip() в Python
  34. Создание вложенного генератора
  35. Оптимизация параметров в Python
  36. Регистрация на хакатоне
  37. Генерация случайных чисел в Python
  38. Изменение логики работы с временем
  39. Динамические маршруты во Flask
  40. Распаковка аргументов в Python
  41. Python OrderedDict и fromkeys() — работа с словарями
  42. Печать календаря в Python
  43. Python 3.12: Псевдонимы типов
  44. Измерение потребления памяти при сортировке
  45. Отслеживание прогресса с tqdm
  46. Обмен данными с asyncio.Queue
  47. Создание таблиц в терминале с PrettyTable

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