Курс 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. Генерация строк с .join()
  2. Преобразование документов в PDF с помощью Spire.Office
  3. Область видимости переменных
  4. Циклы в Python
  5. Поиск наиболее частого элемента в списке
  6. Библиотека wikipedia для Python
  7. Разделение строк в Python
  8. Метод ifloordiv для пользовательских классов
  9. Отправка HTTP-запросов с User-Agent
  10. Создание списка через итерацию
  11. Область видимости переменных
  12. Генераторы в Python
  13. Работа с аргументами командной строки
  14. Отладка производительности Python
  15. Рекурсия для обращения строки
  16. Декораторы в Python
  17. Работа с дробями в Python
  18. Проблема сравнения словарей
  19. Условное добавление элементов в список
  20. Операторы объединения в Python 3.9
  21. Функции в Python
  22. Область видимости переменных
  23. Переворот строки с использованием цикла
  24. Параллельные вычисления в Python
  25. Установка библиотек в Python
  26. Чтение и запись TOML-конфигов
  27. Разрешение имен в Python
  28. Python OrderedDict и fromkeys() — работа с словарями
  29. Оптимизация создания строк
  30. Слияние словарей в Python 3.9
  31. Лямбда-функции для min/max
  32. Работа со строками
  33. Избегайте изменяемых аргументов
  34. Срезы в Numpy
  35. Различия символов в Python
  36. Использование эмодзи в Python
  37. Работа с Enum в Python3.
  38. Работа с файлами и директориями в Python.
  39. Использование функции enumerate()
  40. Конкатенация строковых литералов
  41. Разделение списка на гнппы
  42. Форматирование строк с % в Python
  43. Транспонирование 2D-массива с помощью zip
  44. Установка и использование Python-dateutil
  45. Дефолтные параметры в Python

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