Глава 11 · Очень много информации!
append, extend, insert
Три способа добавить что-то в список — и одна из самых частых ловушек новичка: append() и extend() делают совсем разные вещи.
append() — добавить один элемент
append.py
numbers = [1, 2]
numbers.append(3)
print(numbers) # [1, 2, 3]
append() всегда добавляет ровно один новый
элемент — даже если этот элемент сам является списком.
append() vs extend() — важная ловушка
append_vs_extend.py
a = [1, 2]
a.append([3, 4])
print(a) # [1, 2, [3, 4]] — список внутри списка!
b = [1, 2]
b.extend([3, 4])
print(b) # [1, 2, 3, 4]
append() добавляет один объект, extend() — элементы из итерируемого
append(x) кладёт x внутрь как ОДИН новый элемент, каким бы он ни был. extend(iterable) разворачивает переданный список (или любой другой итерируемый объект) и добавляет каждый его элемент по отдельности. Перепутать их — классическая ошибка новичка.insert() — вставить по индексу
insert.py
fruits = ["яблоко", "банан", "вишня"]
fruits.insert(1, "манго")
print(fruits) # ["яблоко", "манго", "банан", "вишня"]
Элементы начиная с указанного индекса как будто «раздвигаются», освобождая место для нового значения — а их индексы после вставки увеличиваются на единицу.
Практика: append, extend, insert
Интерактивный ноутбук прямо в браузере — Python 3.14 через Pyodide, без установки