Курс Python → Работа с изменяемыми списками

При работе с изменяемыми и неизменяемыми коллекциями в Python важно понимать разницу в их поведении. Списки являются изменяемыми коллекциями, что означает, что их элементы можно изменять после создания списка. Однако, при работе с изменяемыми объектами нужно быть осторожным, чтобы не изменить список непреднамеренно.

Например, если у нас есть список чисел и мы хотим изменить одно из значений, мы можем обратиться к этому значению по его индексу и присвоить новое значение. Однако, если мы не будем внимательны, мы можем случайно изменить другой список, который ссылается на тот же объект в памяти.


numbers = [1, 2, 3, 4]
new_numbers = numbers
new_numbers[0] = 5
print(numbers)  # Выведет [5, 2, 3, 4]

В приведенном примере мы видим, что изменение значения в новом списке также приводит к изменению значения в исходном списке. Это происходит потому, что оба списка ссылаются на один и тот же изменяемый объект в памяти.

Для избежания подобных ошибок важно использовать методы копирования списков, такие как метод copy() или срезы. Таким образом, мы можем создать копию списка, а не просто ссылку на существующий список, и избежать неожиданных изменений.

Пример создания копии списка:


numbers = [1, 2, 3, 4]
new_numbers = numbers.copy()
new_numbers[0] = 5
print(numbers)  # Выведет [1, 2, 3, 4]
Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Работа с контекстными переменными
  2. Виртуальное окружение Python
  3. Загрузка постов Instagram
  4. Работа со словарями в Python
  5. Использование обратной косой черты в f-строках
  6. Динамические маршруты во Flask
  7. Объединение итераторов
  8. Тернарный оператор в Python
  9. Объединение множеств в Python
  10. Разделение строки с помощью re.split()
  11. Непрерывная проверка в Python
  12. Курсы Яндекс Практикум
  13. Приближение чисел в Python
  14. Работа с изменяемыми списками
  15. Импорт модулей в Python 3.12
  16. EMOT преобразование эмодзи в текст
  17. Многоточие в Python
  18. Встраивание HTML в Jupyter Notebook
  19. Работа с срезами в Numpy
  20. Работа с zip-архивами в Python
  21. Подписка на Kaspersky Team
  22. Метод ifloordiv для пользовательских классов
  23. Таймер обратного отсчета
  24. Поиск email
  25. Работа с асинхронными задачами в Python
  26. Создание новой даты в Python
  27. Расчет времени выполнения кода
  28. Преобразование вложенного списка
  29. Запуск внешних программ с subprocess
  30. Проверка версии Python
  31. Выход из профиля в Django
  32. Разделение функций на этапы
  33. Печать календаря в Python
  34. Контекстный менеджер в Python
  35. Метод get() для словарей
  36. Извлечение аудио из видео
  37. Работа с itertools
  38. Переопределение метода len
  39. Проверка дублей в списке.
  40. Показ всплывающих окон Tkinter
  41. Передача словаря через **kwargs
  42. Управление доступом к модулю
  43. Модуль math: константы π и e
  44. Проверка списка: any() и all()
  45. Декораторы с @wraps

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