Курс 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. Экранирование символов в Python
  3. Сортировка данных с лямбда-функциями
  4. Вакансии в Nebius
  5. Методы classmethod и staticmethod
  6. Обработка исключений
  7. Создание списков в Python
  8. Функции map, filter и reduce
  9. Перевод эмодзи и эмотиконов.
  10. Переменные в Python
  11. Логирование с Logzero
  12. Создание панели меню Tkinter
  13. Форматирование строк в Python
  14. Метод join для объединения строк
  15. Гибкие функции Python
  16. Библиотека funcy: удобные утилиты
  17. Создание словарей и множеств в Python.
  18. Python 3.12: переиспользование кавычек
  19. Преобразование данных в Python
  20. Оператор break в Python
  21. Использование модуля __future__
  22. Декораторы в Python
  23. Создание списка через итерацию
  24. Тип CodeType в Python.
  25. Работа с парами ключ-значение
  26. Логирование с Logzero
  27. Комментарии в Python
  28. Замена текста в Python
  29. Итераторы в Python
  30. Отображение HTML кода в Python
  31. Команда %dhist — список посещенных каталогов
  32. Переворот списка в Python
  33. Разделение функций на этапы
  34. Python enumerate() для работы с индексами
  35. Функция enumerate в Python
  36. Отладка утечек памяти в Python
  37. Подсчет элементов с помощью Counter из collections
  38. Сравнение def и lambda в Python
  39. Работа со случайными элементами
  40. Векторизация в Python с NumPy.
  41. Проверка однородности элементов списка
  42. Работа с дробями в Python
  43. Создание функций с произвольным количеством аргументов

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