Курс 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. Подсчет элементов в списке с Counter
  2. Разрешение имен в Python
  3. Работа с Telegram API на Python
  4. Генерация QR-кодов с Python
  5. Профилирование с cProfile
  6. Транспонирование 2D-массива с помощью zip
  7. Оператор in в Python
  8. Анонимные функции в Python
  9. Экспорт функций в Python
  10. Логический оператор «and» в Python
  11. Метод split() для разделения строк
  12. Мониторинг памяти с Pympler
  13. Генераторные выражения и islice.
  14. Выборка чисел
  15. Установка Git и AWS CLI
  16. Метод Enumerate() для списков
  17. Python Translator: создание локальных переводчиков
  18. Функция __init__ в Python
  19. Перемещение и удаление файлов в Python
  20. Функции в Python
  21. Создание и обучение модели с Keras
  22. Преобразование в float
  23. Поиск анаграмм с Counter
  24. Объединение строк с помощью метода join
  25. PrettyTable: создание таблицы
  26. Генерация чисел с range()
  27. Удаление элементов из списка в Python.
  28. Удаление файлов в Python
  29. Многострочные комментарии в Python
  30. Добавление кнопки в tkinter
  31. Перевернуть список в Python
  32. Особенности ключей словаря в Python
  33. Управление виртуальными средами в Python
  34. Создание словарей и множеств в Python.
  35. Создание объекта времени
  36. Работа с CSV файлами
  37. Замыкания в Python
  38. Проверка окончания строки с помощью str.endswith()
  39. Операция += для списков
  40. Оптимизация памяти с slots
  41. Проблема сравнения словарей
  42. Оператор Walrus в Python
  43. Использование метода lower()
  44. Лямбда-функции в цикле
  45. Обработка данных в Python

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