Курс 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. Модуль Antigravity в Python 3
  3. Обработка ошибок в Python
  4. Переопределение метода divmod
  5. Обработка данных в Python
  6. Именованные срезы в Python
  7. Вставка переменных в шаблоны Flask
  8. Избегайте использования goto
  9. Оператор объединения словарей
  10. Основы Python за 14 дней
  11. Метод remove() для удаления элемента из списка
  12. Проверка версии Python
  13. Инверсия списка и строки
  14. Оптимизация строк в Python
  15. Numpy: использование Ellipsis
  16. Замена текста в Python
  17. Списки в Python
  18. Подписка на SelectelNews в Twitter
  19. Методы __repr__ и __str__ в Python
  20. Сохранение и загрузка модели в PyTorch
  21. Конкатенация строк в Python
  22. Метод __iand__ для пользовательских классов
  23. Функции map() и reduce() в Python
  24. Создание и удаление объектов
  25. Капитализация строк
  26. Переворот последовательности
  27. Поиск наиболее частого элемента
  28. Преобразование многоуровневого словаря
  29. Замена атрибута в именованном кортеже
  30. Таймер обратного отсчета
  31. Генераторные функции в Python
  32. Разделение строки с помощью re.split()
  33. Раздувающийся словарь в Python
  34. Перехват исключений в Python
  35. Использование type hints
  36. Работа с argparse
  37. Обмен данными с asyncio.Queue
  38. Работа со словарями в Python
  39. Освобождение памяти в Python
  40. Глобальные переменные в Python
  41. Сортировка HTML-элементов
  42. Лямбда-функции в Python
  43. Работа с Path в Python
  44. Закрытие файла в Python
  45. Python UserString — создание подклассов строк
  46. Переменная с нижним подчеркиванием

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