Курс 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: цикл for и оператор присваивания
  3. Генерация UUID в Python
  4. Быстрый поиск кода
  5. Управление виртуальными окружениями в Python
  6. Numpy: использование Ellipsis
  7. Модуль Antigravity в Python 3
  8. Цикл for в Python
  9. Лямбда-функции в Python
  10. Метод get() для словарей
  11. Работа с итераторами в Python
  12. split() — разделение строки
  13. Генераторы в Python
  14. Область видимости переменных
  15. Анонимные функции в Python
  16. Namedtuple в Python
  17. Использование *args
  18. Счетчик в Python: most_common()
  19. Разделение строки в Python
  20. Numpy: объединение массивов
  21. Python Поверхностное Копирование
  22. Удаление элемента по индексу
  23. Работа с collections.Counter
  24. Сортировка HTML по CSS-селектору
  25. Создание и использование модулей в Python
  26. Обработка элементов в Python
  27. Моржовый оператор в Python 3.8
  28. JMESPath в Python
  29. Участие в LP стейкинге Waves
  30. Использование функции enumerate()
  31. Получение размера объекта с sys.getsizeof()
  32. Получение комбинаций в Python
  33. Перемещение и удаление файлов в Python
  34. Удаление элемента по индексу в Python
  35. Принципы Zen of Python
  36. Преобразование символов в нижний регистр
  37. Метод rmatmul для пользовательских матриц
  38. Импорт модуля из другого каталога
  39. Определение функций с необязательными аргументами
  40. Функция enumerate в Python
  41. Работа с NumPy
  42. Игра «Виселица» на Python
  43. 9 уловок для чистого кода
  44. Изменение списка срезами
  45. Переопределение метода __rshift__
  46. Декораторы в Python
  47. Выбор редактора кода.

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