Курс 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. Оператор «моржа» (Walrus Operator)
  3. Обрезка изображения с Pillow
  4. Вызов функций по строке в Python.
  5. Протокол управления контекстом
  6. Операции с датами в Python
  7. Создание виртуальной среды
  8. Изменяемые и неизменяемые объекты
  9. Вычисление натурального логарифма в NumPy
  10. Работа с collections в Python.
  11. Создание новых списков в Python
  12. Получение атрибутов и методов класса
  13. Экспорт внешнего файла с помощью writefile
  14. Очистка списка от False, None, 0, «»
  15. Проектирование Singleton с метаклассом
  16. List Comprehension Tutorial
  17. Создание новых списков через list comprehensions
  18. Создание списка дат
  19. Возврат нескольких значений
  20. Список методов и атрибутов
  21. Управление виртуальными средами в Python
  22. Просмотр внешних файлов в %pycat
  23. Генераторы в Python
  24. Парсинг статей с Newspaper3k
  25. Декораторы в Python
  26. Измерение времени выполнения кода
  27. Преобразование чисел в слова
  28. Декораторы в Python
  29. Передача аргументов через **arguments
  30. Поиск самого частого элемента
  31. Оператор += в Python
  32. Метод rsub для пользовательских чисел
  33. Получение текущей даты и времени
  34. Вычисление натуральных логарифмов в NumPy
  35. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  36. Python: Splat-оператор и splatty-splat
  37. Функция sleep() в Python
  38. Глубокое копирование объектов
  39. Модуль subprocess: запуск внешних команд
  40. Кортеж в Python: создание и использование
  41. Проверка списка: any() и all()
  42. Основы работы с os
  43. Разделение функций на этапы
  44. Извлечение аудио из видео

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