Курс 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. Обязательные аргументы в Python
  2. Разделение строки с помощью split()
  3. Обратный список чисел
  4. Условное добавление элементов в список
  5. Хранение данных с помощью dataclasses
  6. Группировка элементов в словарь
  7. Проверка кортежей.
  8. Генератор чисел Фибоначчи
  9. Создание namedtuple из словаря
  10. Оператор Walrus: правильное использование
  11. Названия переменных
  12. Оператор «and» в Python
  13. Библиотека Emoji: использование смайлов в Python
  14. Поиск подстроки в строке
  15. Работа с collections в Python
  16. Итерации в Python
  17. Подчеркивание в REPL
  18. Функция zip() в Python
  19. Установка и использование модуля «howdoi»
  20. Метод __ixor__ для побитового исключающего ИЛИ
  21. Python: библиотеки и функции
  22. Присоединение элементов коллекции
  23. Обработка ошибок в Python
  24. Метод lt для сортировки объектов
  25. Получение размера объекта с sys.getsizeof()
  26. Тестирование с responses
  27. Преобразование числа в список цифр
  28. Лямбда-функции в Python
  29. Обмен значений переменных в Python
  30. Метод ifloordiv для пользовательских классов
  31. Поиск индексов в списке
  32. Создание словаря в Python
  33. Цикл for в Python
  34. Именованные срезы в Python
  35. Функция zip() для объединения списков
  36. Создание словарей с defaultdict()
  37. Взаимодействие с внешними процессами в Python
  38. Блок else в циклах Python
  39. Отображение HTML кода в Python
  40. Функции с дополнением

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