Курс 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. Определение основы слова с showballstemmer
  2. Сложение матриц в NumPy
  3. Работа с контекстными менеджерами
  4. Удаление ресурса в Python
  5. Профилирование с Pandas
  6. Переворот списка в Python
  7. Измерение времени выполнения кода
  8. Генерация UUID в Python
  9. Проблема с изменяемыми аргументами
  10. Создание виртуальной среды
  11. Работа с датой и временем в Python
  12. Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
  13. Lambda-функция в Python: использование с map() и sum()
  14. Метод rsub в Python: расширение функциональности вычитания
  15. Операторы увеличения и уменьшения переменной
  16. Распаковка аргументов в Python
  17. Изучение объектов с помощью dir()
  18. Преобразование списка в словарь через генератор
  19. Курс Data Scientist в медицине
  20. Генерация случайных чисел в Python
  21. Получение размера объекта с sys.getsizeof()
  22. Сравнение def и lambda-функций
  23. Просмотр внешних файлов в %pycat
  24. Сортировка в Python
  25. Курсы Яндекс Практикум
  26. Проблемы с именами переменных
  27. Определение локальных переменных в Python
  28. Преобразование документов в PDF с помощью Spire.Office
  29. Bootle — простой веб-фреймворк
  30. Переопределение унарных операторов
  31. Поиск кода
  32. Оператор Walrus в Python 3.8
  33. Печать в одной строке
  34. Атрибуты объекта в Python
  35. Генерация строк с .join()
  36. Аргументы *args и **kwargs
  37. Функции с необязательными аргументами
  38. capitalize() — изменение регистра первого символа строки
  39. Аннотации типов в Python
  40. Обработка исключений в Python 3
  41. Список импортированных модулей в Python
  42. Создание копии списка в Python
  43. Выход из профиля в Django
  44. Работа с файлами в Python
  45. Создание генераторов в Python
  46. Принцип одной функции
  47. Управление импортом в Python
  48. Генераторные выражения и islice.
  49. Структуры данных в Python

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