Курс 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. Flask — веб-фреймворк Python
  2. Игра «Угадывание чисел»
  3. Удаление специальных символов
  4. Приоритет операций в Python
  5. Анонимные функции в Python
  6. Перезагрузка оператора в Python
  7. Конвертация коллекций в Python.
  8. Регистрация на TenChat
  9. Отправка поздравлений по дню рождения
  10. Извлечение аудио из видео
  11. Подсказки типов в Python
  12. Векторизация в Python с NumPy.
  13. Срез списка в Python
  14. Расчет времени выполнения кода
  15. Определение основы слова с showballstemmer
  16. Разрешение имен в Python
  17. Итераторы в Python
  18. Метод rsub для пользовательских чисел
  19. Создание генераторов
  20. Concrete Paths в Python
  21. Обмен значений переменных в Python
  22. enumerate() в Python для работы с индексами
  23. Работа с JSON данными в Python
  24. Изменение объектов в Python
  25. Путь к интерпретатору Python
  26. Генераторы списков в Python
  27. Преобразование чисел в восьмеричную строку
  28. Установка переменной среды в Python
  29. Метод split() в Python
  30. Правила именования переменных
  31. Работа с комплексными числами в Python
  32. Комментарии в Python.
  33. Транспонирование 2D-массива с помощью zip
  34. Перегрузка операторов в Python
  35. Объединение словарей в Python
  36. Оптимизация памяти с slots
  37. Наследование в программировании
  38. Инициализация переменных
  39. Использование функции enumerate()
  40. Объединение списков в Python
  41. Получение пути к текущему скрипту с помощью os
  42. Python Метод sleep() времени
  43. Глубокое копирование объектов
  44. Генераторные функции в Python
  45. Оптимизация памяти в Python
  46. Создание новых списков
  47. Работа со случайными элементами

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