Курс 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. Создание новых списков через list comprehensions
  3. Определение функций с необязательными аргументами
  4. Показ всплывающих окон Tkinter
  5. Условное добавление элементов в список
  6. Работа со списками
  7. Асинхронное выполнение задач в процессах
  8. Оптимизация методов в Python 3.7
  9. Библиотека wikipedia для Python
  10. Логирование с Logzero
  11. Операции со строками в Python
  12. Разделение строки с помощью split()
  13. Преобразование символов с помощью map
  14. Оптимизация интернирования строк
  15. Отправка POST-запроса в REST API
  16. Управление асинхронными задачами с помощью Semaphore
  17. Обход дочерних элементов BeautifulSoup
  18. Использование html-скриптов в Jupyter Notebook
  19. Работа с CSV в Python
  20. Извлечение аудио из видео
  21. Проекты на Python
  22. Работа с Path в Python
  23. Декораторы в Python
  24. Избегайте пустого списка
  25. Декораторы в Python
  26. Генераторы в Python
  27. Замыкания в Python
  28. Настройка нарезки списков
  29. Получение текущей директории
  30. Преобразование кортежа в словарь.
  31. Непрерывная проверка в Python
  32. Установка переменной среды в Python
  33. UserList в Python: Описание и примеры использования
  34. Сравнение строк в Python
  35. OrderedDict — упорядоченный словарь
  36. Переопределение метода __floordiv__
  37. Избегайте ошибку FileNotFoundError
  38. Python OrderedDict и fromkeys() — работа с словарями
  39. Форматирование строк в Python
  40. Генерация случайных чисел Python
  41. Преобразование числа в восьмеричную строку
  42. Наследование в программировании

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