Курс 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. Определение объема памяти объекта
  3. Управление памятью в numpy.
  4. Автоматизация с Python
  5. Метод join для объединения строк
  6. Работа с CSV файлами в Python
  7. Удаление элементов во время итерации
  8. Обучение модели с указанием эпох
  9. Избегайте пустого списка
  10. Копирование в Python
  11. Извлечение новостей с newspaper3k
  12. Отслеживание выполнения программы с библиотекой tqdm
  13. Оператор is в Python
  14. Фильтрация данных в Python.
  15. Нан-рефлексивность в Python
  16. Форматирование данных с pprint
  17. Оптимизация памяти с __slots__
  18. Преобразование типов данных в set comprehension
  19. Оператор continue в Python
  20. Логические значения в Python
  21. Функция zip() в Python
  22. Цикл for в Python
  23. Отрицательные индексы списков в Python
  24. Сложные типы данных в Python
  25. Запуск файлового сервера
  26. Работа с итераторами в Python
  27. Регистрация на курсы SF Education
  28. Оператор (*) в Python
  29. Сортировка HTML-элементов
  30. Хэш-функции и метод цепочек
  31. Дефолтные параметры в Python
  32. Обработка ошибки IndexError
  33. Модуль Operator в Python
  34. Логирование с Logzero
  35. Concrete Paths — метод .with_suffix()
  36. Управление экспортом элементов
  37. globals и locals
  38. Асинхронный код в Python
  39. Преобразование данных в Python
  40. Эффективная конкатенация строк в Python
  41. HTTP-запросы с библиотекой Requests
  42. Роль запятой в Python
  43. Генераторы списков в Python
  44. Лямбда-функции для min/max
  45. Строки в Python: апострофы и кавычки

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