Курс 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. Анонимные функции Lambda
  2. Списковое включение в Python
  3. Наиболее частотные элементы с помощью Counter
  4. Функция zip() в Python
  5. Глобальные переменные в Python
  6. Основы Python
  7. Декораторы в Python
  8. Эффективная конкатенация строк в Python
  9. Метод index() в Python
  10. Регистрация на TenChat
  11. split() — разделение строки
  12. Concrete Paths — метод .with_suffix()
  13. Библиотека wikipedia для Python
  14. Возврат нескольких значений
  15. Основные функции и модули Python
  16. Установка максимального количества цифр
  17. Атрибуты класса и экземпляра
  18. Замена текста в Python
  19. Оператор Walrus в Python
  20. Условные выражения в Python
  21. Тестирование времени с Freezegun
  22. Операторы += в Python
  23. Список импортированных модулей в Python
  24. PUT запрос для обновления данных
  25. Beautiful Soup — извлечение данных из HTML
  26. Тестирование модели в PyTorch
  27. Преобразование списка в словарь через генератор
  28. Библиотека Emoji: использование смайлов в Python
  29. Получение ID процесса
  30. Логирование с Logzero
  31. Python: отличительная особенность — отступы
  32. Доступ к локальным переменным
  33. Создание пар из последовательностей
  34. Экспорт данных в файл.
  35. Конкатенация строк с методом join()
  36. Сортировка в Python
  37. Отображение HTML кода в Python
  38. Настройка логгера Logzero
  39. Удаление элементов по срезу
  40. Вложенные циклы в Python
  41. Создание спинбокса в tkinter
  42. Работа с файлами и директориями в Python.
  43. Выключение компьютера с помощью Python
  44. Использование *args
  45. Именование столбцов в Python с pandas
  46. Проверка типа данных
  47. Объединение списков в Python
  48. Создание новых списков

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