Глава 11 · Очень много информации!
Изменяем список
Первый по-настоящему изменяемый тип данных: элемент списка можно заменить, не создавая новый объект.
Список можно изменить «на месте»
Это фундаментальное отличие списка от строки. Присвоим новое значение элементу по индексу:
izmenenie_elementa.py
numbers = [10, 20, 30]
numbers[1] = 999
print(numbers) # [10, 999, 30]
Это тот же самый объект, а не новый список
После
numbers[1] = 999 список не пересоздаётся — изменяется содержимое того же объекта. Это станет важно в §11.9, когда у одного списка будет две ссылки-переменные сразу.Mutable vs immutable
Мы уже встречали неизменяемые типы — числа и строки. Список — первый по-настоящему изменяемый (mutable) тип, который мы изучаем:
| Тип | Можно ли заменить часть значения «на месте»? |
|---|---|
str | Нет — name[0] = "P" вызывает TypeError, нужна новая строка |
tuple | Нет — кортежи тоже неизменяемы (§11.13) |
list | Да — numbers[1] = 999 меняет тот же объект |
Изменяемость — свойство типа, а не конкретного значения
Не бывает «изменяемых строк» и «неизменяемых списков» в зависимости от содержимого — изменяемость целиком определяется типом объекта: все
list изменяемы, все tuple и str — нет.Практика: изменяем элемент списка на месте
Интерактивный ноутбук прямо в браузере — Python 3.14 через Pyodide, без установки