Курс 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. Генератор списка с условием if
  2. Прокачанный трейсинг ошибок
  3. Сортировка с помощью параметра key
  4. Замер времени выполнения кода
  5. Преобразование списков в словарь
  6. Удаление ресурса в Python
  7. Именованные кортежи в Python
  8. Запуск Python из интерпретатора
  9. Проверка типов с помощью isinstance
  10. JSON-esque в Python
  11. Классы данных в Python
  12. Переменные класса и экземпляра
  13. Объединение коллекций в Python
  14. Операторы Splat и splatty-splat
  15. Удаление элементов из списка в Python.
  16. Конкатенация строк в Python
  17. Получение размера объекта с sys.getsizeof()
  18. Удаление дубликатов из списка
  19. Декораторы в Python
  20. Анонимные функции Lambda
  21. Тернарный оператор в Python
  22. Экранирование символов в Python
  23. Синхронизация потоков с time.sleep()
  24. Комплексные числа в Python
  25. Создание вложенного генератора
  26. Назначение максимального и минимального значения переменной в Python.
  27. Python: библиотеки и функции
  28. Создание обратного итератора
  29. Реализация операции -= для пользовательского класса
  30. Просмотр внешних файлов в %pycat
  31. Символ подчеркивания в Python
  32. Методы shutil для работы с файлами
  33. Работа с срезами в Python
  34. Colorama: окрашивание текста в Python
  35. Философия Python
  36. Преобразование букв в нижний регистр
  37. Настройка шрифта и цвета в Tkinter
  38. Форматирование строк в Python.
  39. Печать списка с помощью метода join
  40. Имена объектов в Python
  41. Переворот строки с помощью срезов
  42. Итерация по коллекции в Python
  43. Повторение элементов списков
  44. Создание виртуальной среды
  45. Возврат нескольких значений из функции

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